好吧,我绞尽脑汁并上网寻找解决方案。但我就是想不出答案。
我编写了一个使用 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 动词,有些则没有。
作为最佳实践,您应确保所有场中的所有服务器都安装了相同的二进制文件。在同一场的不同服务器上安装不同的二进制文件是不好。