Silverlight 2 教程(十):Silverlight 2.0 URL 访问策略
由于安全原因和其他一些安全威胁,如传递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) | 不允许 | 允许 | 不允许 | 允许 |
允许重定向 | 同域允许 | 允许 | 同域允许 | 不允许 |