Flashbuilder は https 経由の WCF をサポートしていないため、代わりに weborb リモート処理を使用することを検討していますが、別のサーバーに配置されている場合、flash が weborb の場所をどのように認識するかはよくわかりません。送信先、送信元フィールドを調べましたが、Flex の remoteObject に url というフィールドが実際には見つかりませんでした。誰かが同様のことをしましたか?
1 に答える
これは古い質問であることは知っていますが、とにかく答えると思いました。WebORB を介して、WCF サービスをリモート クライアント (Flash、Flex) に公開できます。WebORB は、セルフホストと IIS でホストされる WCF サービスの両方をサポートします。両方のモデルの手順へのリンクを次に示します。
IIS でホストされる: http://www.themidnightcoders.com/fileadmin/docs/dotnet/v4/guide/index.html?iis_hosted_wcf_services.htm
どちらの文書もあなたの質問に対応しています。1 つのアプローチの例を次に示します。
Flex/AIR からの自己ホスト型サービスの呼び出し Flex および AIR クライアントは、RemoteObject API を使用して、AMF エンドポイントを使用する自己ホスト型 WCF サービスのメソッドを呼び出すことができます。セルフホステッド WCF サービスを呼び出す方法は 2 つあります。最初のアプローチでは、必要なコードは少なくなりますが、宛先とチャネルを宣言する構成ファイル (WEB-INF/flex にあるファイル) への依存関係が作成されます。2 番目の方法では、構成ファイルに依存しませんが、コードが数行追加されます。以下の API の例を検討してください。
アプローチ 1 (構成ファイルに依存):
var remoteObject:RemoteObject = new RemoteObject("GenericDestination");
remoteObject.endpoint = "http://localhost:8000/WCFAMFExample/amf" remoteObject.GetQuote.addEventListener( ResultEvent.RESULT, gotResult ); remoteObject.GetQuote.addEventListener( FaultEvent.FAULT, gotError ); remoteObject.GetQuote( "名前" );
エンドポイント URL は、WCF サービスを一意に識別します。URL の末尾にある /amf に注意してください。これは、AMF エンドポイントに必要です。上記のアプローチでは、RemoteObject コンストラクターの宛先名が必要ですが、使用されません。そのため、コードを機能させるには、Flex/AIR アプリケーションを追加のコンパイル引数でコンパイルする必要があります。
-services "C:\Program Files\WebORB for .NET\4.0\web-inf\flex\services-config.xml"
これが役立つことを願っています。
K