ASP.NET Web API 仅在某些服务器上对 PUT 返回 404

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) 

开发和准备阶段的配置是相同的,事实上整个站点都是直接复制的。

为什么 GET 和 POST 可以工作,而 PUT 却不工作?

谢谢

格雷格

答案1

有些有 WebDAV,它提供 PUT 动词,有些则没有。

作为最佳实践,您应确保所有场中的所有服务器都安装了相同的二进制文件。在同一场的不同服务器上安装不同的二进制文件是不好

相关内容