zoukankan      html  css  js  c++  java
  • SilverLight跨域访问及其常用的几种解决方法

    SilverLight 出于对安全性的考虑默认情况下对URL的访问进行了严格的限制,只允许访问同一子域下的URL资源。

    下表列出了Silverlight 2.0 中 URL 访问规则:

    WebClient对象 Media、images、ASX XAML 文件、Font 文件 流媒体
    允许的协议 HTTP, HTTPS HTTP, HTTPS, FILE HTTP, HTTPS, FILE HTTP
    跨协议访问 不允许 不允许 不允许 不允许来自HTTPS的访问
    跨Web域访问 不允许 如果不是来自HTTPS则允许 不允许 允许
    跨安全区域访问(Windows) 不允许 不允许 不允许 不允许
    跨安全区域访问(Macintosh) 不允许 允许 不允许 允许
    允许重定向 同域允许 允许 同域允许 不允许


    如果WCF与SilverLight Web不是在同一站点,那么我们就要在被访问端的根域放上两个XML文件clientaccesspolicy.xml,crossdomain.xml
    如果要通过WebClinet访问另一站点的资源,那么需要在被访问站点放上域访问策略xml文件,不然在Complete事件里面的事件参数报告空对象引用。

    clientaccesspolicy.xml文件格式如何,切忌最好要将编码设置为utf-8,否则极易出错

    <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
        <cross-domain-access>
            <policy>
                <allow-from>
                    <domain uri="*"/>
                </allow-from>
                <grant-to>
                    <resource path="/" include-subpaths="true"/>
                </grant-to>
            </policy>
        </cross-domain-access>
    </access-policy>

    crossdomain.xml文件格式

    crossdomain.xml的格式非常简单,其根节点为<cross-domain-policy> ,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。下边是两个例子:

    程序代码
    <?xml version="1.0"?>
    <cross-domain-policy>
    <allow-access-from domain="http://www.lishewen.com.cn/" />
    <allow-access-from domain="*.lishewen.com.cn" />
    <allow-access-from domain="222.217.221.16" />
    </cross-domain-policy>

    程序代码
    <?xml version="1.0"?>
    <cross-domain-policy>
    <allow-access-from domain="*" />
    </cross-domain-policy>

    第二个例子允许任何域的访问。对于crossdomain.xml文件存放位置,建议将其存放于站点根目录中!

    如:http://bbs.lishewen.com.cn/crossdomain.xml


    关于clientaccesspolicy.xml,crossdomain.xml的具体说明,请大家参看MSDN http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx

    Powered By D&J (URL:http://www.cnblogs.com/Areas/)
  • 相关阅读:
    【软工4】:软件工程和文档
    ER模型图工具:PowerDesigner
    【软工3】:软件工程视频知识总结
    【软工2】:软件开发阶段
    【软工1】:软件计划及软件需求
    【机房收费系统 5】:验收总结(思想)
    【机房收费系统 4】:VB获取标准北京时间,免除时间误差
    网络经济与企业管理(一)
    【机房收费系统 3】:文本框输入数字、小数点、退格键
    .NET Framework
  • 原文地址:https://www.cnblogs.com/Areas/p/2190767.html
Copyright © 2011-2022 走看看