1

URI へのリクエストの試行中にエラーが発生しました:

「http://localhost:8732/Design_Time_Addresses/WCF/Service1/」。これは、しようとしたことが原因である可能性があります

適切なクロスドメイン ポリシーを設定せずにクロスドメイン方式でサービスにアクセスする、または

SOAP サービスには不適切なポリシーです。サービスの所有者に連絡する必要がある場合があります

クロスドメイン ポリシー ファイルを公開し、SOAP 関連の HTTP ヘッダーを許可するようにします。

送信済。このエラーは、Web サービス プロキシで内部型を使用していない場合にも発生する可能性があります。

InternalsVisibleToAttribute 属性を使用します。詳細については、内部例外を参照してください

詳細。

結果がwcfから返されたときにエラーが表示されます

この wcf をコンソール、Web サイト、win フォームで使用しましたが、正常に動作します

WCF ライブラリで 2 つの xml ファイルを使用します。

  1. clientaccesspolicy.xml
  2. crossdomain.xml
4

2 に答える 2

1

それは私の脳を傷つけることもありました。

私は自分の使用のためにこのファイルが必要であることを理解しました:

<?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 path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

clientaccesspolicy.xml という名前

秘訣は、Web サーバーのルートにある必要があるということです。つまり、ファイルを参照できる必要があります。あなたの場合、次の場所にあります:

http://localhost:8732/clientaccesspolicy.xml

ファイルが表示されない場合、Silverlight は常に文句を言います。

私のポリシー ファイルは制限的ではないので、慎重に使用してください。

于 2012-04-19T15:18:33.677 に答える
0

ああ、その問題。クロスドメイン以外に、VS2010 からデバッガーを実行することはできません。これは、私がその localhost URL から収集したものです。WCF が存在するドメインまたはサーバーで Silverlight アプリを公開してみてください。たとえば、Web サービスが http://10.xx.xx.xx/sites/myWCFにある場合は、Silverlightアプリをhttp: //10.xx.xx.xx/sites/MySilverlightApp に公開します。デバッガーはhttp://localhost:somePortとして実行されますが、クロスドメイン ポリシー ファイルでも問題が発生することは間違いありません。それとは別に、web.service の設定ファイルが正しいことを確認してください。すべてのインターフェイスにエンドポイント バインディングがあり、メイン サービスの場所にホストがあることを確認します (当たり前のように聞こえますが、よくあるエラーです)。

于 2012-04-22T12:26:12.400 に答える