Asp.net

帶有 IIS 的 ASP.NET Core - 不允許使用 HTTP 動詞

  • January 10, 2018

我們有一個ASP.NET Core 2.0網站,它還提供了幾個簡單的Web API方法,用於增強 UI。

在IIS Express下本地執行時,Web API 呼叫按預期工作,但是當我們部署到IIS 8.5生產 Web 伺服器時,發出 HTTP和請求時出現以下錯誤…DELETE``PUT

405 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)

&lt;system.webServer&gt;
 &lt;modules runAllManagedModulesForAllRequests="false"&gt;
   &lt;remove name="WebDAVModule" /&gt;
 &lt;/modules&gt;
&lt;/system.webServer&gt;

在這裡找到:https ://www.ryadel.com/en/error-405-methods-not-allowed-asp-net-core-put-delete-requests/

引用自:https://stackoverflow.com/questions/48188895