2009-05-24 16 views
0

WCFサービスを使用するSilverlight 2アプリケーションを作成しました。 サービスはローカルフォルダ(IISではなく)にあり、Winformsテストで正常に動作します。 サービスを呼び出そうとすると、 "no pocily for cross domain"というエラーが返されます。 wwwrootの ローカルドライブのルートE WCFプロジェクトフォルダに IISを::Silverlight用WCF App

私はにclientaccesspolicy.xmlとcrossdomain.xmlのを追加するためにしようと試みてきました

\が、何も任意のは、私は置くべき に影響を与え取りませんそれら?

+0

あなたはそれがホストされている方法は、「サービスがローカルフォルダ(ないIIS)に位置している」とはどういう意味ですか?どのように開いたのですか?これは、あなたがIISを実行していると言っている後半の部分と矛盾しているようです。 – blowdart

答えて

1

あなたは、私はあなたのSilverlightアプリを使用すると、ダブルクリックで読み込むHTMLページにホストされている

  • いくつかの仮定

    を作るつもりですIISの下で実行されているファイルを与えるサービスを持っていない言うように://URIをブラウザの場所バーに入力するか、ローカルのIISに公開しています。
  • WCFサービスは、コマンドラインアプリケーション、Windowsサービス、またはWinformsアプリケーションのようないくつかの自己ホストプロセスで実行されています。それがホストされているものは、Silverlightアプリケーションと同じURLにはなりません。あなたはhttp://localhost:1234上でIISとWCFサービスにそれを公開した場合//example.htmlまたはhttp://localhost

SilverlightのアプリとWCFサービスは、別のURLでファイルのアプリケーションをホストされています。ポート番号が異なるか、file:// URIからSilverlightアプリケーションをロードしていて、WCFサービスをホストしているので、クロスドメインアクセスの問題が発生します。 WCFサービスを自分でホストしている場合は、clientaccesspolicy.xmlファイルまたはcrossdomain.xmlファイルが必要になるため、Silverlight URLからサービスにアクセスできるため、解決できません。ただし、XMLのルートからXMLを提供する方法はありません。自己ホスティングWCFサーバー。

0

おそらく、IISを再起動しなかったでしょうか?

編集:徹底的なチュートリアルです。これを有効にするためのすべてのステップがないことを確認してください。Silverlight 2.0 and WCF

+0

私はIISをMacineにインストールしていませんでした。私はファイルシステムに取り組んでいます。私もMS Silverlightのサイトビデオの例を使用しているので、コードに問題があるとは思わない –

0

Mm ... clientaccesspolicy.xml要求が送信された場合は、fiddlerを使用して確認してください。一方

、接続が機能しているかどうかを確認するためにダミーclientaccesspolicy:

<?xml version="1.0" encoding="utf-8" ?> 
<access-policy> 
    <cross-domain-access> 
     <policy> 
      <allow-from http-request-headers="SOAPAction" > 
       <domain uri="*"/> 
      </allow-from> 
      <grant-to> 
       <resource include-subpaths="true" path="/"/> 
      </grant-to> 
     </policy> 
    </cross-domain-access> 
</access-policy> 

をしかし、あなたは同じドメイン(あなたは通話のセキュリティが必要な場合は、より良い)上で動作するようにしてください。

1

http:// ...コンテキストからfile:// ...コンテキストに移行する場合、実際にはドメイン間の問題ではありません。代わりに、セキュリティ上の理由からSilverlight 2では許可されていないクロスコンテキストの問題です(これはhttp://とhttps://でも発生します)。私は方法があるように見えます。この状態は、Silverlightの3に

0

を私は、このリンクはするのに役立つかもしれないと思います君は...

How to Use WCF service