我正在尝试从 Silverlight 客户端访问 ASP.NET WEB API 服务,并且收到从 Web 客户端返回的“安全错误”错误。该服务在 Fiddler 或浏览器中运行良好。
我在 Silverlight 主机站点上的 clientacesspolicy.xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*" http-methods="*">
<domain uri="*" />
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
我认为这应该允许我访问任何网站。
ASP.NET WEB API 是从 IIS Express 中的调试器运行的 VS 2012。它永远不会受到 Silverlight 客户端的影响。
更新: Duh,如果您将 clientaccesspolicy.xml 放在正在访问的服务的根文件夹中,它会有所帮助。我将它放在 Silverlight 应用程序的根目录中,它只会对托管在那里的服务有所帮助......