Silverlight中的跨域安全性错误?

时间:2009-01-09 15:23:00

标签: silverlight cross-domain yahoo-pipes

我正在尝试将Yahoo Pipes中的Feed读入Silverlight应用程序。我一直得到一个SecurityException,这听起来像是一个跨域策略问题,但雅虎管道,如果你通过pipes.yahooapis域,有一个跨域策略,所以应该没问题。我尝试了完全相同的代码,但转到Digg API,它工作正常(虽然这是休息而不是rss feed)。我的错误可能与跨域策略无关吗?

我对Web请求使用以下代码:

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

我得到的异常是System.Security.SecurityException。

我正在尝试的网址就是这个

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

3 个答案:

答案 0 :(得分: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跨域策略文件格式......我希望网站控制元素能够破解它。

答案 1 :(得分:1)

http://pipes.yahooapis.com/crossdomain.xml处的crossdomain.xml策略文件仅指定allow-access-from元素中的安​​全(https :)请求。请参阅有关格式here

的文档
<?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>

答案 2 :(得分:0)

http://pipes.yahoo.com/crossdomain.xml处没有客户端访问策略文件 或http://pipes.yahoo.com/clientaccesspolicy.xml

因此SecurityException是正确的行为。

您尝试访问的确切网址是什么?

相关问题