我想从 Silverlight 访问内部 REST API,但结果不允许我使用 POST 或 DELETE 作为我的请求的 HTTP 方法。
这样做总是会导致SecurityException
。
在 Silverlight 中使用 REST api 的推荐方法是什么?
最佳答案
SecurityException 可能意味着 API 没有适当的 clientaccesspolicy.xml 文件。下面是一个非常宽松的示例,它允许所有 HTTP 方法和 header 。我们已成功地将其用于我们的 API(该 API 很流行,但我不知道我们从 Silverlight 获得了多少流量)。
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*" http-methods="*">
<domain uri="http://*" />
<domain uri="https://*" />
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
这需要放置在您尝试使用的 API 所在域的根目录下的 clientaccesspolicy.xml 文件中。
关于Silverlight:使用 RestSharp 的 HTTP DELETE 和 PUT 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616856/