今天在做silverlight访问JSon数据的时候老是出现错误,才发现是跨域的问题,因此将这方面的内容整理一些,列了出来

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

在这我也弄了个Silverlight的例子来测试

http://silverlight.lishewen.net.cn/SyndicationFeedReader/

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

文章整理资料来源于:http://www.cnblogs.com/format/articles/1282203.html

转载于:https://www.cnblogs.com/deng02/archive/2010/02/03/1663090.html

SilverLight跨域访问及其常用的几种解决方法相关推荐

  1. Linux忘记密码常用的几种解决方法

    Linux忘记密码常用的几种解决方法 参考文章: (1)Linux忘记密码常用的几种解决方法 (2)https://www.cnblogs.com/vurtne-lu/p/6550590.html 备 ...

  2. authorization 传 就跨域_跨域访问接口上传图片出现options请求问题解决方法

    1.首先因为服务器端会先发送一个option请求到后台  在后台返回一个post给页面 页面在处理post请求给接口 2.先写一个过滤器, 我们自己定义一个过滤器 package com.adtime ...

  3. jsonp 跨域接收值接不到的解决方法

    (1) 传递参数的时候需要加?jsoncallback=? var url="<?php echo C('url_zhiku')?>"; $.ajax({ type : ...

  4. php访问参数错误,提示“无法访问参数错误”的4种解决方法

    直接拔下usb设备而不是点击弹出.直接拔下usb设备会损坏甚至破坏扇区,是导致usb设备参数错误的原因之一.切记尽量使用"安全弹出usb"功能. usb接口问题.usb接口是电脑和 ...

  5. (tomcat访问不了的两种解决方法)Bad Request(Invalid Hostname)

    显示这个页面的时候一般有几中解决方法: 第一种就是如下图所示的方法: 具体步骤是: 1.也就是左下角win的"运行"中输入cmd进入doc窗口中 2.输入代码:netstat -a ...

  6. file_get_contents 访问 ssl 错误的两种解决方法

    转自博客园https://www.cnblogs.com/devcjq/articles/9250800.html 第一种,也是最常见的,参考:https://jingyan.baidu.com/ar ...

  7. html的页面怎样直接跨域访问,【HTML】iframe跨域访问问题

    概述 本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度. 1.问题重现: Chrome 版本 41.0.2272.10 ...

  8. Ajax跨域访问Tomcat服务器

    在学习jQuery的时候进行到AJax时,需要与服务器进行交互练习.我毫不犹豫的打开了我的Tomcat服务器运行起来,并使用普通的ajax方法访问运行中的服务器网址的时候,发现 XMLHttpRequ ...

  9. Silverlight 2 跨域访问控件与WebService的资料整理

    跨域访问控件: In other words, a page retrieved from somehost containing a Silverlight object tag with sour ...

  10. AJAX跨域访问解决方案

    Case I. Web代理的方式 (on Server A) 即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果.此方案可以解决 ...

最新文章

  1. 计算机编程语言python-2018年计算机编程语言排名: Python语言排名第一
  2. 张志华 机器学习 两门课程正确顺序及视频连接
  3. 第一章 面向对象编程
  4. MySQL 5.7建表时date类型提示默认值类型错误的问题处理
  5. android edittext seterror,EditText之setError方法一二
  6. Spring事务“套路”面试
  7. 面向对象重写(override)与重载(overload)区别
  8. 这是一个成长差异化的时代
  9. 使用create-react-app模板模仿12306app
  10. 英特尓祭出开挖数据价值的“六脉神剑”!
  11. 程序员,有什么资格去谈佛系?
  12. 搭建 Sql Server 2008 R2 Failover Cluster
  13. arduino惊喜盒子
  14. 用c语言做记忆测试小游戏,用C语言实现简单小游戏
  15. 计算机网申兴趣爱好怎么写,网申个人爱好如何填写?
  16. 去哪儿网qan参数加密(手机端)
  17. typeC PD是什么含义
  18. centos离线安装fastdfs
  19. 使用JabRef在WORD中自动引用参考文献的方法
  20. 华为首超苹果,iPhone 风光已不再?百度资讯搜索来源调整;自动驾驶激光雷达厂商Velodyne筹备上市;...

热门文章

  1. IDEA 打包、Spring Boot Maven plugin 打包可执行 Jar 程序
  2. linux 系统下 tar 的压缩与解压缩命令
  3. Linux--Linux下安装JDk
  4. CENTOS 使用 MUTT发送邮件
  5. 大数据下的数据分析-Hadoop架构解析[转]
  6. 中挪动正请求第三方支出牌照竖立支出公司
  7. 编写高效优雅Java程序
  8. mac上安装搭建Appium环境
  9. java Object类的公共方法
  10. BZOJ4066 简单题(KD-Tree)