2

我有一个 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 连接),这可能是问题的一部分吗?

4

2 回答 2

2

您可以尝试在您的允许来源中明确添加 https://:

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

我假设当您尝试直接点击文件时,您会看到它(IIS 实际上正在为它提供服务)。

于 2012-12-13T15:34:38.117 回答
0

试试这个:

<allow-from http-request-headers="*">
  <domain uri="*"/>
  <domain uri="https://*" />
</allow-from>
于 2013-03-13T15:19:55.593 回答