3

Silverlight 4 アプリケーションから DB にデータを書き込む必要があります。

Silverlight 対応の WCF Web サービスを使用しています。IIS7 に公開し、ClientAccessPolicy.xml ファイルを inetpub/wwwroot (他の場所の中でも) に追加したので、localhost/ClientAccessPolicy.xml に問題なくアクセスできます。念のため、crossdomain.xml も追加しました。

また、このサービスにアクセスし、開発サーバーで VS2010 を実行する Silverlight4 クライアント アプリもあります。

WebService でメソッドを呼び出そうとすると、クロスドメイン ポリシーが設定されており、Web サービスが正常に動作しているにもかかわらず、クロスドメイン エラーが発生します。

Fidler を使用すると、クライアント アプリが clientaccesspolicy.xml にアクセスしようとすると、304 エラーが発生することがわかります。

クライアント アプリを IIS7 にも発行すると (どちらもポート 80 で)、同じマシンでブラウザーを使用して問題なく実行できます。しかし、別のマシンでアクセスしようとすると、再び crossdaomain エラーが発生します。

私はすべてを試しましたが、この問題の答えがどこにも見つかりません! 助けてください!!

これは私の ClientAccessPolicy.xml がどのように見えるかです:

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

1 に答える 1

0

あなたの状況を読む前後に、この誤解を招くエラー「クロスドメインエラー」に苦労しました。 ClientAccessPolicy.xml 構成が問題ではないことを確認できます。

私がするいくつかのこと

  1. Silverlight アプリでクライアント構成と Web サービス構成を確認します (エンドポイント、動作、および最終的にバインディング プロトコルを再確認します)。
  2. wcf サービスのエラー ログを有効にします。
  3. Web サービスに正しい認証トークンを渡していることを確認してください (WCF サービスをホストする Web アプリケーションの匿名認証を有効にします)。
于 2012-10-04T12:00:11.283 に答える