1. 程式人生 > >請求部署在 IIS7.5 上的 REST 服務的 Put/Post/Delete 操作發生 HTTP Error 405.0 - Method Not Allowed 錯誤之解決

請求部署在 IIS7.5 上的 REST 服務的 Put/Post/Delete 操作發生 HTTP Error 405.0 - Method Not Allowed 錯誤之解決

超文本 sha 參考 handlers ron bapi .com rest 通過

背景

請求部署在 IIS7.5 上的 REST 服務的 Put/POST/DELETE 操作發生 HTTP Error 405.0 - Method Not Allowed 錯誤。

Issue

技術分享

解決

在 WebAPI 應用的 Web.config 中加入如下設置:

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

 

背景知識

WebDAV 是超文本傳輸協議 (HTTP) 的一組擴展,為 Internet 上計算機之間的編輯和文件管理提供了標準。利用這個協議用戶可以通過Web進行遠程的基本文件操作,如拷貝、移動、刪除等。
在IIS 7.0中,WebDAV是作為獨立擴展模塊,需要單獨進行下載,而IIS 7.5中將集成WebDAV,然而WebDav把Put,Post,Delete給哢嚓了。
所以在IIS 7.5上部署的RESTful服務(WCF Data Service,WCF Rest Service,ASP.NET Web API,ASP.NET MVC)就悲劇了,當發送Put請求就會發生HTTP Error 405.0 – Method Not Allowed錯誤。

參考資料

http://www.cnblogs.com/shanyou/archive/2012/03/23/2414252.html

請求部署在 IIS7.5 上的 REST 服務的 Put/Post/Delete 操作發生 HTTP Error 405.0 - Method Not Allowed 錯誤之解決