2011-07-28 10 views
0

Silverlightアプリケーションから呼び出されるWCFサービスライブラリを作成しました。Silverlight Crossdomainエラーから呼び出されるWCFサービスライブラリ

.svcファイル(GVFileManagementService.svc)は、xapをホストするWebプロジェクトでホストされています。

ここで、GVFileManagementService.svcにはdllへの参照のみが含まれています。

ローカルでは、すべて正常に動作します。しかし、サーバーにソリューションをデプロイすると、xapは機能せず、アプリケーションがcrossdomain.xmlとclientaccesspolicy.xmlファイルを要求していることがFiddlerに気付きました。

HTTPSは、以下のとおりです。http://localhost:1186/clientaccesspolicy.xml

http://localhost:1186/crossdomain.xml

それがローカルホストのURLを示しているのはなぜ?そして、どうすればこの問題を解決できますか?これらのファイルはどこに置く必要がありますか?

ありがとうございます。

答えて

1

クライアントアクセスおよびクロスドメインポリシーファイルは、ルートWebディレクトリに存在する必要があります。特定のポートでローカルWebサーバーを実行しているため、Fiddlerがローカルホストのアドレスを表示しています。

この記事をご覧ください。 http://msdn.microsoft.com/en-us/library/cc197955%28v=vs.95%29.aspx

+0

こんにちは、お返事ありがとうございます。 Silverlightアプリケーションは、ローカルではなくhttp://87.76.67.54:84/default.aspxのようなURLを介して呼び出されます。このリンクをリクエストすると、Silverlightの進行状況が表示されますが、http:// localhost:1186/crossdomain.xmlからクロスドメインとポリシーをリクエストするとハングアップします。 – user867597

+0

あなたのServiceReference.ClientConfigのようなサウンドはローカルアドレススキームを持っています。 web.configとServiceReference.ClientConfigの両方がWANアドレスを指定しているかどうか確認できますか? – cmsjr

0

異なるネットワークからのリソースにアクセスするには、Silverlightのサンドボックスの性質上、クライアントアクセスポリシーと異なるドメインにアクセスする必要がある場合はクロスドメインポリシーも必要です。

1

問題は、開発環境で使用されているローカルホストサービスへの参照でXAPファイルが構築されている可能性があります。これはXAPファイルに入れられているもので、Silverlightクライアントはあなたがそれを使用しようとするとなぜlocalhostを探しているのですか? Silverlightクライアントがサービスの要求を開始すると、デプロイされたマシン上のサービスの名前が置き換えられるように、相対バインドを作成する必要があります。

このリンクUsing relative URLs to access WCF services in Silverlightは、何が起こっているのか、どのように行うのかを説明するのに役立ちます。

関連する問題