https中的silverlight交叉域问题

时间:2012-03-22 04:06:18

标签: wcf silverlight httphandler

我的silverlight网站在https端口运行,当我尝试访问我网站中的某个处理程序时,它会搜索crossdomain.xml和clientaccesspoliy.xaml

问题是它始终在https://ipaddress//crossdomaim.xml

中搜索跨域

因此,当我使用fiddler进行调试时,它显示HTTP错误404.0 - 未找到。

客户端accesspolicy.xml

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

的crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/>
</cross-domain-policy>  

2 个答案:

答案 0 :(得分:2)

首先,删除crossdomain.xml文件,因为您只需要Silverlight的clientaccesspolicy.xml(并且它具有更多功能)。

其次,该文件必须位于https站点的根目录中,因为与http站点相同(我假设您仅将文件放在http站点上)。如果您的应用访问了http和https网站,则需要在两个网站上都有。

第三,如果您仍然遇到问题,请在配置中明确添加https。例如与

 <allow-from>
      <domain uri="http://*">
      <domain uri="https://*">
 </allow-from>)

Network Security Access Restrictions in Silverlight上的此页面提供了更多选项详情

答案 1 :(得分:0)

试试这个crossdomain.xml

 <?xml version="1.0"?>
   <!DOCTYPE cross-domain-policy SYSTEM 
"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
      <cross-domain-policy>
     <!--<allow-http-request-headers-from domain="*" headers="SOAPAction,Content-                 Type"/>-->    
    <allow-http-request-headers-from domain="*" headers="*"/>
     </cross-domain-policy>