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 クライアントからヒットすることはありません。
更新: アクセスするサービスのルート フォルダーに clientaccesspolicy.xml を配置すると役立ちます。私はSilverlightアプリのルートにそれを持っていました。これは、そこでホストされているサービスにのみ役立ちます...