由于安全原因和其他一些安全威胁,如传递Cookie,允许地址转向等,Silverlight 限制跨安全区域、跨域和跨协议的 URL访问。例如,如果你的Silverlight 程序嵌入在一个域下,而你试图使用 WebClient对象去访问保存在另外一个域下的文件,则该请求就会失败,并且这种错误提示不是该错误的准确提示。如果想要跨域访问,则需要配置 clientaccesspolicy.xml 或者 crossdomain.xml 等文件。
下表列出了Silverlight 2.0 中 URL 访问规则:
| WebClient对象 | Media、images、ASX | XAML 文件、Font 文件 | 流媒体 | |
| 允许的协议 | HTTP, HTTPS | HTTP, HTTPS, FILE | HTTP, HTTPS, FILE | HTTP |
| 跨协议访问 | 不允许 | 不允许 | 不允许 | 不允许来自HTTPS的访问 |
| 跨Web域访问 | 不允许 | 如果不是来自HTTPS则允许 | 不允许 | 允许 |
| 跨安全区域访问(Windows) | 不允许 | 不允许 | 不允许 | 不允许 |
| 跨安全区域访问(Macintosh) | 不允许 | 允许 | 不允许 | 允许 |
| 允许重定向 | 同域允许 | 允许 | 同域允许 | 不允许 |
本文介绍了Silverlight在不同场景下的URL访问规则,包括WebClient对象、媒体文件、XAML文件等资源的访问限制,以及跨域、跨协议访问的要求。为解决跨域问题,文章提到了需要配置clientaccesspolicy.xml或crossdomain.xml文件。

被折叠的 条评论
为什么被折叠?



