您现在的位置: 365建站网 > 365文章 > Flex调用ASP.NET Web Service时的沙箱问题

Flex调用ASP.NET Web Service时的沙箱问题

文章来源:365jz.com     点击数:557    更新时间:2009-09-20 09:03   参与评论
  今天用Flex调用ASP.NET的Web Service时老是跳出了"Security error accessing url"的错误,查了资料,才知道这原来根Flash的沙箱有关。

  原理是,当SWF文件试图访问其它域上的数据时,Flash Player自动加载那个域上的policy文件,如果SWF文件所在的域被包含在这个policy文件中,数据就可以被访问,否则就不行,以下是Adobe官方的原文:

When a SWF file attempts to access data from another domain, Flash Player automatically attempts to load a policy file from that domain. If the domain of the SWF file that is attempting to access the data is included in the policy file, the data is automatically accessible.

而我所碰到的问题,就是因为我的IIS上没有这个policy file,那解决办法自然就是加上这个policy file。

解决办法

新建一个xml文件,命名为crossdomain.xml,如果不想麻烦的话,文件名就不要用其它的,就用这个。
把以下内容复制到xml文件中:
<?xml version="1.0"?>
<cross-domain-policy>
  
<allow-access-from domain="*" />
</cross-domain-policy>
然后把它保存到wwwroot下面,我曾试着把它放到应用程序的根目录,但不起作用,放到wwwroot下是可以的,上述的crossdomail.xml 允许所有的swf文件访问本主机。

然后就OK了。如果想看更详细的,就看:
http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=05B_Security_176_04.html
Tag标签: flex,web service,asp.net

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (557人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号