【发布时间】:2012-11-24 11:53:07
【问题描述】:
我们正在运行托管在 Windows Azure 中的 WCF 服务,并尝试从托管在其他地方的网站执行 POST 请求,但事实证明这非常棘手。显然,在 iis7 端的实际 POST 请求之前允许 OPTIONS 预检请求似乎真的很困难。
即使我们的 web.config 中有 <system.webserver> 定义
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin,X-Requested-With,Content-Type,Accept" />
<add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS"/>
</customHeaders>
</httpProtocol>
为了安全
<security>
<requestFiltering>
<verbs>
<add verb="OPTIONS" allowed="true" />
</verbs>
</requestFiltering>
</security>
我们不断收到 HTTP 405 Method not Allowed 响应。
我在 stackoverflow 的不同帖子中尝试了多种技巧,但我开始感到绝望,因为似乎没有任何效果......网站在 Chrome 中工作,因为它似乎不关心预检响应,但 IE 挂在 HTTP 405响应。
有谁知道无论如何都可以允许通过 web.config 进行预检 OPTIONS 请求(以及如何),或者我们是否需要开始为预检请求实现我们自己的处理程序(如果是这样的话,一个例子会很棒:))?
谢谢, 马蒂
【问题讨论】:
标签: jquery iis-7 azure cors preflight