IIS Config HTTP OPTIONS返回200,但响应为空

时间:2013-08-22 11:57:12

标签: asp.net asp.net-web-api iis-7.5

我有一个在带有MVC 4.0的.NET 4.0上运行的ASP.NET Web API应用程序。这是在IIS 7.5,Windows Server 2008 R2 Datacenter Edition上运行。

当我向GET发出HTTP myserver/api请求时,我会收到包含HTTP状态代码200(如果没有登录,则为401)并具有相应内容的响应。< / p>

但是当我向同一个网址发出HTTP OPTIONS请求时,我总是会收到状态代码为200的响应和一个空的响应正文(Content-length = 0)。

当我向不存在的网址(例如OPTIONS)发出HTTP myserver/api/foo请求时,我也会收到此回应。

我的OPTIONS文件中允许使用web.config动词。

问题仅存在于一台服务器上,其他服务器正常工作。

为什么会这样?

1 个答案:

答案 0 :(得分:3)

IIS有一个默认的OPTIONSVerbHandler,可能会在MVC之前捕获请求。 如果删除该处理程序,则应用程序应处理该请求并返回正确的响应。

<system.webServer>
    <handlers>
        <remove name="OPTIONSVerbHandler" />