Назад | Перейти на главную страницу

Веб-API ASP.NET возвращает 404 для PUT только на некоторых серверах

Хорошо, я ломал голову и ломал голову над решением этой проблемы. Я просто не могу этого понять.

Я написал сайт, который использует веб-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, а у некоторых нет.

Рекомендуется убедиться, что на всех серверах всех ваших ферм установлены одинаковые двоичные файлы. Установка разных двоичных файлов на разные серверы одной фермы Не хорошо.