請求部署在 IIS7.5 上的 REST 服務的 Put/Post/Delete 操作發生 HTTP Error 405.0 - Method Not Allowed 錯誤之解決
阿新 • • 發佈:2017-07-21
超文本 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 錯誤之解決