【发布时间】:2017-04-17 20:40:18
【问题描述】:
我有一个非常常见的问题,它说方法不允许 (OPTIONS) 用于 GET 请求。每当我进行 API 调用时,都会收到以下错误。我在web.config中有这个设置:
<system.webServer>
<modules>
<remove name="WebDAVModule"/>
</modules>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Origin, Authorization, X-Requested-With, Content-Type, Accept"/>
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
</customHeaders>
</httpProtocol>
<handlers>
<remove name="WebDAV"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
</system.webServer>
我尝试使用Asp.Net.WebApi.Cors 并使用EnableCors() 对所有原始标头和方法在全球范围内强制执行CORS,但这也不起作用。
【问题讨论】:
-
您使用的是什么版本的 IIS?
-
@mason: iis 10.0 express
标签: asp.net asp.net-mvc-4 asp.net-web-api cors