我的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>
答案 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>