1

フィードを Yahoo Pipes から Silverlight アプリケーションに読み込もうとしています。クロス ドメイン ポリシーの問題のように聞こえる SecurityException が発生し続けますが、pipes.yahooapis ドメインを通過する場合、Yahoo パイプにはクロス ドメイン ポリシーがあるため、問題ないはずです。まったく同じコードを試してみましたが、Digg API にアクセスするとうまくいきました (ただし、これは RSS フィードではなく残りの部分です)。私のエラーは、クロス ドメイン ポリシーとは関係ありませんか?

Web リクエストに次のコードを使用します。

 WebClient wc = new WebClient();    
 wc.DownloadStringAsyncCompleted += new DownloadStringCompletedEventHandler(wc_DlStrCompleted);    
 wc.DownloadStringAsync(new Uri(yahooPipesUrl));

私が得る例外は System.Security.SecurityException です。

私が試しているURLはこれです

http://pipes.yahooapis.com/pipes/pipe.run?_id=4rBri9Ef3RG8CEGLLe2fWQ&_render=rss&feedUrl=http://feeds.feedburner.com/follesoe

4

3 に答える 3

3

適切なポリシー ファイルは次のとおりです。

<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
  <site-control permitted-cross-domain-policies="master-only" /> 
  <allow-access-from domain="*" /> 
</cross-domain-policy>

現在、Silverlight が Flash クロス ドメイン ポリシー ファイル形式全体で動作しないという問題があります... サイト コントロール要素がそれを壊していると思います。

于 2009-01-09T17:51:03.280 に答える
1

http://pipes.yahooapis.com/crossdomain.xmlの crossdomain.xml ポリシー ファイルでは、allow-access-from 要素でセキュアな (https:) リクエストのみが指定されています。ここで形式に関するドキュメントを参照してください。

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only" />
  <allow-access-from domain="*" secure="true" />
</cross-domain-policy>
于 2009-01-09T17:41:17.420 に答える
0

http://pipes.yahoo.com/crossdomain.xml またはhttp://pipes.yahoo.com/clientaccesspolicy.xmlにクライアントアクセスポリシーファイルはありません

したがって、SecurityExceptionは正しい動作です。

アクセスしようとしている正確なURLは何ですか?

于 2009-01-09T16:14:47.373 に答える