Asp.net
帶有 IIS 的 ASP.NET Core - 不允許使用 HTTP 動詞
我們有一個ASP.NET Core 2.0網站,它還提供了幾個簡單的Web API方法,用於增強 UI。
在IIS Express下本地執行時,Web API 呼叫按預期工作,但是當我們部署到IIS 8.5生產 Web 伺服器時,發出 HTTP和請求時出現以下錯誤…
DELETE``PUT405 Method Not Allowed經過一些網路搜尋,我們發現了幾篇建議刪除 IIS WebDAV模組的文章。我們在 IIS 中禁用了它(它是我們的伺服器),我們還嘗試了以下方法:
- 禁用的 WebDAV
- 啟用WebDev並設置
Allow verb filtering = False- 將處理程序映射設置為允許請求限制設置中的所有動詞:和
aspNetCore``WebDAV``ExtensionlessUrlHandler-Integrated-4.0以上步驟都沒有解決我們的問題。
任何建議/方向將不勝感激。
雖然刪除 WebDAV 可能會解決您的問題,但您可能想知道(就像我一樣),WebDAV 是什麼以及它的用途是什麼?
我發現這個頁面有助於解釋它:
<https://www.cloudwards.net/what-is-webdav/>
這對我有用(netcore 2.0)
<system.webServer> <modules runAllManagedModulesForAllRequests="false"> <remove name="WebDAVModule" /> </modules> </system.webServer>在這裡找到:https ://www.ryadel.com/en/error-405-methods-not-allowed-asp-net-core-put-delete-requests/