Asp.net mvc 5 为什么MVC5会出现此错误;请求的资源不支持http方法';选项'&引用;?

Asp.net mvc 5 为什么MVC5会出现此错误;请求的资源不支持http方法';选项'&引用;?,asp.net-mvc-5,Asp.net Mvc 5,我已将我的应用程序从MVC4更新为MVC5,当我使用MVC4运行它时,它工作正常,但对于MVC5,它会给出错误{“消息”:“请求的资源不支持http方法“选项”。}在FIDDLER中 (一) *在Fiddler中应用MVC5的请求:* *MVC5应用在Fiddler中的响应:* (二) **MVC4在Fiddler中的应用请求** OPTIONS /api/Controller/Method HTTP/1.1 Host: example.com Connection: keep-alive A

我已将我的应用程序从MVC4更新为MVC5,当我使用MVC4运行它时,它工作正常,但对于MVC5,它会给出错误
{“消息”:“请求的资源不支持http方法“选项”。}
在FIDDLER中

(一) *在Fiddler中应用MVC5的请求:*

*MVC5应用在Fiddler中的响应:*

(二) **MVC4在Fiddler中的应用请求**

OPTIONS /api/Controller/Method HTTP/1.1
Host:  example.com
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://wyx.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36
Access-Control-Request-Headers: referer, content-type
Accept: */*
Referer: exampleImage.gif
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
*MVC5应用在Fiddler中的响应:*

为什么MVC4中的Allow是“ 允许:选项、跟踪、获取、标题、发布 在MVC5中: 允许:发布

我还在web.config中的MVC5中进行了尝试:

 <system.webServer>
      <modules runAllManagedModulesForAllRequests="true">
      </modules>
    <httpProtocol>
          <customHeaders>
            <remove name="Access-Control-Allow-Origin" />
            <add name="Access-Control-Allow-Origin" value="*" />
            <add name="Access-Control-Allow-Headers" value="*" />
            <add name="Access-Control-Allow-Methods" value="*" />

          </customHeaders>
        </httpProtocol>
    </system.webServer>


但是它不起作用。

你能检查一下你的api初始值设定项并确认你有吗

GlobalConfiguration.Configure(WebApiConfig.Register); 
而不是

WebApiConfig.Register(GlobalConfiguration.Configuration);

这实际上为我解决了完全相同的问题。这些错误实际上表明您的路由根本没有设置;)

对此有任何更新吗?您仍然有问题吗?
 <system.webServer>
      <modules runAllManagedModulesForAllRequests="true">
      </modules>
    <httpProtocol>
          <customHeaders>
            <remove name="Access-Control-Allow-Origin" />
            <add name="Access-Control-Allow-Origin" value="*" />
            <add name="Access-Control-Allow-Headers" value="*" />
            <add name="Access-Control-Allow-Methods" value="*" />

          </customHeaders>
        </httpProtocol>
    </system.webServer>
GlobalConfiguration.Configure(WebApiConfig.Register); 
WebApiConfig.Register(GlobalConfiguration.Configuration);