Web Api 2执行带有503错误的OPTIONS请求?

时间:2015-09-29 20:17:33

标签: angularjs cors asp.net-web-api2

我已经尝试了一些关于我使用CORS与Web Api 2和Angular的问题。

我已经为Web API下载了CORS的nuget包。

我在控制器中启用了CORS。

我将以下内容添加到我的api web.config:

<httpProtocol>
<customHeaders>
  <add name="Access-Control-Allow-Origin" value="*" />
  <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD" />
  <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>

我在控制器中添加了以下方法:

 public HttpResponseMessage Options()
    {
        return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
    }

我已将EnableCorsAttribute放在控制器的顶部。

在此之后,当我进行POST时,我从fiddler中得到以下请求:

OPTIONS http://api.carb-stage.derivesystems.com/api/Recaptcha/Post HTTP/1.1
Host: api.carb-stage.derivesystems.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: POST
Origin: http://carb-stage.derivesystems.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Access-Control-Request-Headers: accept, content-type
Accept: */*
Referer: http://carb-stage.derivesystems.com/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8

这是我得到的回应:

HTTP/1.1 503 Service Unavailable
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 29 Sep 2015 20:10:49 GMT
Connection: close
Content-Length: 326

0 个答案:

没有答案