Хорошо, я ломал голову и ломал голову над решением этой проблемы. Я просто не могу этого понять.
Я написал сайт, который использует веб-API ASP.NET MVC, и все работает нормально, пока я не поместил его на промежуточный сервер. Сайт отлично работает на моем локальном компьютере и на веб-сервере разработки. Серверы разработки и промежуточные - это 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?
Спасибо
Грег
У некоторых есть WebDAV, который предоставляет команду PUT, а у некоторых нет.
Рекомендуется убедиться, что на всех серверах всех ваших ферм установлены одинаковые двоичные файлы. Установка разных двоичных файлов на разные серверы одной фермы Не хорошо.