私は、サーバーとの通信にWCFを使用するSilverlightアプリケーションを使用しています。 SilverlightとWCFの両方がローカルマシン(localhost)上で実行されています。 Silverlightがサービスに呼び出しを行うと、通信例外が発生して失敗します。 これは私がclientaccesspolicyファイルを持っていないためですが、WCFエンドポイントがhttp://localhost:portで実行されているため、IPolicyRetriverというインターフェースを定義して、ストリームにclientaccesspolicyを返す実装をそのサービスに追加しました。Silverlight - WCFがlocalhost上でclientaccesspolicyを取得する
私の質問は、問題なく動作するように設定する必要がありますか? ServiceReference.ClientConfigファイルに何かを変更したり追加したりする必要があることを理解していますが、何が理解できません。以下に私のServiceReference.ClientConfigを含めました。私は何を変更するか、それに追加するか、Silverlightでこのコードを追加する場所を教えてください。 ここにリンクを貼ってはいけません。最後の2日間にできるすべてのリンクを開いていますが、まだ分かりません。
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMapService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="../MapService.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IMapService" contract="MapService.IMapService"
name="BasicHttpBinding_IMapService" />
</client>
</system.serviceModel>
HELP ME PLEASE!
私はROOT of serviceのウェブサイトを持っていません。私はlocalhost上でそれを実行しています。そして、あなたは正しい変化をどういう意味ですか?フィドラーの使い方は? – gln
はい、ローカルホストの場合でもルートがあります。 "htt p:// localhost:PortNumber /"はルートで、Silverlightはclientaccesspolicy.xmlファイルを検索します。私が正しく覚えていれば、プロパティの変更は、Visual Studioのサイトプロパティページの "Web"タブからバーチャルパスを "/"に設定することです。 – DaveB