我正在尝试将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

有帮助吗?

解决方案

现有的政策文件是:

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

其他提示

http://pipes.yahooapis.com/crossdomain.xml <上的crossdomain.xml策略文件/ a>仅在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>

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

因此SecurityException是正确的行为。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top