2011-02-05 12 views
0

私はWCFサービスへの呼び出しをいくつか持っているSilverlightアプリケーションを持っています。 SilverlightとWCFはどちらもローカルホスト上にあります。私はSilverlightアプリケーションを実行すると通信例外のWCFへの呼び出しで失敗します。 Iv'eは、WCFとSilverlightが同じポートで実行されていないため、clientaccesspolicy.xmlファイルを追加する必要があるため、これが可能であることをWebで理解しています。 しかし、私はそこにxmlを配置しなければならない "ドメインルート"が何かを理解していませんでした。 私はそこにxml(localhost上)を見つけなければならない道を教えてください。C#silverlight - WCFコール

ありがとう!

答えて

0

私はちょうどIISホストのWCFサービスでこれをしました。私はXMLファイルをc:\ inetpub \ wwwrootに入れます(私はそれが私のマシン上にあると思います)。

IISがホストされていない場合は、異なる場合があります。私が最初に私のサービスを開発していたとき、私は自己ホストexeとしてそうしました。その場合、私はXMLファイルを使用しませんでした。代わりに、私は自分のホストしているexeプロジェクトに別の "サービス"を実装しました。サービスは自動的にXMLファイルを作成しました。私は細かいことがありません。それまでに問題を解決していない場合は、月曜日にさらに詳しい情報を投稿できます。一方

、このリンクを参照してください。

Where to place ClientAccessPolicy.xml for Local WCF Service?

それとも、このいずれかを:

How can I get my WCF service's client access policy operation to be accessible from the root?

+0

あなたは自己ホスティングに関する詳細を投稿できますか? Silverlightプロジェクトでは、別個のexeファイルはどのようになりますか? – gln

0

は、例えば、Visual Studioで、あなたのsilverlghtホスティングプロジェクトにclientaccesspolicy.xmlを追加し、 MyProject.Web。短いですが、アプリケーションのWeb.configの近くに配置してください。

1

"ドメインルート"は、SilverlightアプリケーションをホストしているHTTPドメインのルートアドレスです。これはやや直感的ですが、ポリシーファイルがのクロスドメインスクリプトの問題を処理していることに注意してください。

は、したがって、これらのいずれかのための場合:// WWW:

http://www.yourdomain.com 

http://www.yourdomain.com/app 

http://www.yourdomain.com/app1/PageSilverlightNeedsToHit.aspx 

http://www.yourdomain.com/app1/Service1.svc 

http://www.yourdomain.com/apps/yourapp/folders/services/versions/otherlongnames/ 

あなたは簡単なテストがそのURL(HTTPを打つことです

http://www.yourdomain.com/clientaccesspolicy.xml 

で有効なclientaccesspolicy.xmlを持っている必要があります。 yourdomain.com/clientaccesspolicy.xml)をbroswerから削除し、アクセスXMLを確実に取得してください。これはSilverlightの動作を模倣します。

これはあなたのホスティングの設定では不可能な場合は、返信してください。このリクエストのための他のオプション(カスタムiisハンドラなど)がありますが、あなたのニーズに応じて、彼らは過度になることがあります。