2013-11-21 83 views
4

这似乎是一个常见的问题,但我已经troubleshot所有其他技术的人越来越并没有运气,所以这里有云:IIS 7.5和Web API 2 PUT/DELETE请求

我跑WebAPI2以及Windows Server 2010上的IIS7.5。在开发过程中,我在HTTP的HTTP处理程序中添加了PUT/DELETE处理程序后,我的PUT/DELETE请求开始工作。但是,一旦我转向刺激并应用相同的变化,我就没有这样的运气。我的继承人设置:

WebConfig

服务器:

Server

要求:

Request URL:http://dev.myserver.com/myapp/api/apps/76a09a7b-0750-4045-a3ce-696df0ff179c 
Request Method:PUT 
Status Code:405 Method Not Allowed 

405 - HTTP verb used to access this page is not allowed. 
The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access. 

响应头:

Allow:GET, HEAD, OPTIONS, TRACE 
Content-Length:1293 
Content-Type:text/html 
Date:Thu, 21 Nov 2013 15:43:44 GMT 
Server:Microsoft-IIS/7.5 
X-Powered-By:ASP.NET 

东北角其生气,因为该动词是不能接受的,但配置表明,它是。我看到另一篇文章谈论如何从IIS中的模块中删除WebDav模块,但是,一旦我这样做了,我得到了500内部服务器错误(可能是因为它需要嘿嘿)。就像我说的这个代码在开发中正常工作,所以我不知道什么是断开连接。

+1

您是否尝试过选择“所有动词”选项? –

+0

@NikolaiSamteladze是:( – amcdnl

+0

你试图从你的''和你的''删除'WebDavModule'?你可以发布你的配置或者有关这个500错误的详细信息。 –

回答

15

似乎如果我错过了'HttpHandler'删除WebDav。以下作品:

<system.webServer> 
    <modules> 
     <remove name="WebDAVModule" /> 
    </modules> 
    <handlers> 
     <remove name="WebDAV" /> 
    </handlers> 
</system.webServer> 
+1

工作就像一个魅力。保存我的尾巴。:) – napo