Windows-Server-2008-R2

ASP.NET Web API 僅在某些伺服器上為 PUT 返回 404

  • April 11, 2012

好的,我一直在絞盡腦汁和網際網路尋找解決方案。我就是想不通。

我已經編寫了一個使用 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,有些則沒有。

作為最佳實踐,您應該確保所有場中的所有伺服器都安裝了相同的二進製文件。在同一個場的不同伺服器上安裝不同的二進製文件是不好的。

引用自:https://serverfault.com/questions/378312