Windows-Server-2008-R2
ASP.NET Web API 僅在某些伺服器上為 PUT 返回 404
好的,我一直在絞盡腦汁和網際網路尋找解決方案。我就是想不通。
我已經編寫了一個使用 ASP.NET MVC Web API 的站點,並且在我將它放在登台伺服器上之前一切都執行良好。該站點在我的本地電腦和開發 Web 伺服器上執行良好。開發伺服器和登台伺服器都是 Win Server 2008 R2。
問題是這樣的:網站基本上可以工作,但是有一些 API 呼叫使用了 HTTP PUT 方法。這些在暫存返回 404 時失敗,但在其他地方工作正常。
我遇到並解決的第一個問題是請求過濾。但仍然得到404。
我已在 IIS 中打開跟踪並遇到以下問題。
168. -MODULE_SET_RESPONSE_ERROR_STATUS ModuleName IIS Web Core Notification 16 HttpStatus 404 HttpReason Not Found HttpSubStatus 0 ErrorCode 2147942402 ConfigExceptionInfo Notification MAP_REQUEST_HANDLER ErrorCode The system cannot find the file specified. (0x80070002)
dev 和 staging 的配置是一樣的,事實上整個站點是一個直接的副本。
為什麼 GET 和 POST 可以工作,而 PUT 不行?
謝謝
格雷格
有些有提供 PUT 動詞的 WebDAV,有些則沒有。
作為最佳實踐,您應該確保所有場中的所有伺服器都安裝了相同的二進製文件。在同一個場的不同伺服器上安裝不同的二進製文件是不好的。