我有一个Silverlight 5应用程序,它通过HTTPS在通过IIS 6(例如mydomain.com/service.svc)托管的单独域(服务器)上向WCF数据服务发出请求。
Silverlight应用获取SecurityException,我认为这与找不到正确的clientaccesspolicy.xml文件有关。我在mydomain.com的wwwroot文件夹中定义了一个clientaccesspolicy.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>
奇怪的是,在查看Fiddler流量时,mydomain.com/clientaccesspolicy.xml从未尝试过请求。
另一件事是clientaccesspolicy.xml仅通过https提供(该服务器上的IIS设置只允许ssl / tls连接),那么这可能是问题的一部分吗?
答案 0 :(得分:2)
您可以尝试在allow-from中明确添加https://:
<allow-from http-request-headers="*">
<domain uri="http://*"/>
<domain uri="https://*" />
</allow-from>
我假设当你尝试直接点击文件时,你会看到它(IIS实际上是在服务它)。
答案 1 :(得分:0)
尝试一下:
<allow-from http-request-headers="*">
<domain uri="*"/>
<domain uri="https://*" />
</allow-from>