2

'clientaccesspolicy.xml'ファイルを中心とするSilverlightアプリケーションに奇妙な問題があります。'clientaccesspolicy.xml'のWebサイトルート上でSilverlightがチェックされます

IIS7の既定のWebサイトであるWebサイトがあります。このウェブサイトのルートには、 'clientaccesspolicy.xml'ファイルがあります。

また、http://thewebsite/asubdirectory/service.asmxに定義されているWebサービスもあります。このサービスは、WebサイトへのSilverlight要求の一部を処理します。

私たちがSilverlightコンポーネントをロードしようとすると、明らかに間違っているhttp://asubdirectory/clientaccesspolicy.xmlのhttp要求があります。

デフォルトのウェブサイトを空白に設定し、この特定のウェブサイトをデフォルトのウェブサイトの下にあるアプリケーション/仮想ディレクトリとして設定すると、奇妙なことです。例えばhttp://thewebsite/subdomain/ clientaccesspolicyのリクエストがhttp://thewebsite/clientaccesspolicy.xmlになり、デフォルトのウェブサイトのルートにファイルのコピーを保存すると、問題は解決します。

私が知りたいのは、silverlight/IISが、Webサイトがデフォルトとして定義されているときに、clientaccesspolicyのルートをさらに調べる必要があると判断する方法です。

silverlightのサービスの場所またはサービスの参照は可能でしょうか?これには賢明な方法がありますか?

多くのおかげで、

ダグ

答えて

2

Silverlightは、それが同じドメインでない場合は、クロスドメインポリシーのための標的部位を依頼する必要があります。あなたの "http:// asubdirectory"に基づいてあなたのコードは間違っていて、実際にhttp:// asubdirectory/someserviceの場所でhttp:// ウェブサイト/サブディレクトリ/someserviceの代わりにサービスを使用しようとします。

+0

私はあなたが正しいと思います。パスがIISまたはSilverlightアプリケーションによって提供されている場合、コードに入ることを避けたいと思っていましたが、オプションがないと思います! – dougajmcdonald

+1

あなたは正しいアレクセイでした。この謎めいた状況は、URLから 'ApplicationRoot'値を引き出してそれに応答するように設計されたコードブロックを作成した人が原因です。仮想ディレクトリなしでは、コードブロックがURLを高すぎる方向にナビゲートし、 'http:// thewebsite /'ではなく 'http://'を返すApplicationRootとして '/' – dougajmcdonald

関連する問題