|
.NET TIPS [Silverlight 2]ASP.NET開発サーバでclientaccesspolicy.xmlを利用するには?デジタルアドバンテージ 遠藤 孝信2009/11/12 |
![]() |
|
|
|
SilverlightアプリケーションやWebサービスをVisual Studioで開発する場合、デフォルトでは、それらは「ASP.NET開発サーバ」上でデバッグ実行される。
従って、Silverlightアプリケーションと、それがアクセスするWebサービスをそれぞれVisual Studioで構築し、両方を実行した場合、それぞれのURLは例えば次のようになるが、これらは同じドメイン(この場合にはlocalhost)であっても、ポート番号が異なるためにクロスドメイン・アクセス(=別ドメインへのアクセス)となってしまう。
Silverlightアプリケーション(をホストしているページ):
http://localhost:59496/SilverlightApplication1TestPage.aspx
Webサービス:
http://localhost:59102/Service1.asmx
このため、実行時にはSilverlightアプリケーション側で、CommunicationException例外(System.ServiceModel名前空間)が発生してしまい、Webサービスを正しく呼び出すことができない。これは、それが配置されているドメインにしかアクセスできないという制限がSilverlightアプリケーションに課せられているためだ。
clientaccesspolicy.xmlの配置
SilverlightアプリケーションからのWebサービスへのアクセスがクロスドメインとなってしまう場合には、Webサービス側に、別ドメインからのアクセスを許可することを明記したポリシー・ファイルを配置することで、そのWebサービスへのアクセスが可能になる。
具体的には、clientaccesspolicy.xmlという名前のファイルを、Webサービスをホストしているサイトのドキュメント・ルートに配置すればよい。すべてのサービスに対して、ほかのすべてのドメインからのアクセスを許可する場合には、clientaccesspolicy.xmlの内容は次のようになる。
| |
| clientaccesspolicy.xml | |
| ドメイン上にあるすべてのサービスに対して、ほかのすべてのドメインからのアクセスを許可する場合の記述。 |
ASP.NET開発サーバへのclientaccesspolicy.xmlの配置
さてここからが本題であるが、Webサービスが実行されるASP.NET開発サーバでclientaccesspolicy.xmlを利用する場合には、このファイルをプロジェクトの直下に作成すればよい(別で作成したclientaccesspolicy.xmlを、ソリューション・エクスプローラ内のプロジェクト部分にドラッグ&ドロップしてもよい)。
以下は、Visual Studio 2008でclientaccesspolicy.xmlをWebサービスのプロジェクトに追加したときの画面だ。
![]() |
| clientaccesspolicy.xmlを追加したWebサービスのプロジェクト |
ASP.NET開発サーバでは、デフォルトでプロジェクトのルートがドキュメント・ルートとなるため、上記の設定により、ローカル・ホスト上にあるすべてのSilverlightアプリケーションは、このWebサービスにアクセスできるようになる。![]()
| カテゴリ:Silverlight 2 処理対象:Webサーバ |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



