Как я могу заставить OData DELETE работать? - PullRequest
15 голосов
/ 14 июля 2011

Я создал службу OData (Служба данных WCF) и потребителя для ее тестирования.

Ранее, когда я пытался удалить, я получал сообщение об ошибке WebDAV 405 «Метод не разрешен».

Так я гуглил и нашел:

http://nikhilthaker86.wordpress.com/2010/03/27/issue-hosting-restful-services-on-iis-7/

Я следовал инструкциям и удалил модуль WebDav со своего веб-сайта (службы) в IIS 7.

Теперь я получаю это сообщение об ошибке:

"Ошибка HTTP 500.21 - Внутренняя ошибка сервера

Обработчик "WebDAV" имеет неверный модуль "WebDAVModule" в своем списке модулей

Модуль: IIS Web Core Уведомление: ExecuteRequestHandler "

Если у вас есть решение, которое устранит эту проблему, я был бы очень признателен ... в противном случае, если вы гуру IIS и думаете: «Этот парень понятия не имеет, что он делает», Пожалуйста, укажите мне несколько полезных материалов для чтения в Интернете.

Заранее спасибо.

1 Ответ

34 голосов
/ 14 июля 2011

Модуль WebDAV будет блокировать глаголы DELETE и PUT (обновление) для IIS. Вы можете либо удалить WebDAV (рекомендуется), либо просто удалить его из обработчиков сайта. Более подробную информацию можно найти здесь: http://forums.iis.net/t/1166025.aspx

Один из способов сделать это - добавить следующие строки remove в файл web.config вашего сайта:

<system.webServer>
    <modules>
        <remove name="WebDAVModule" />
    </modules>
    <handlers>
        <remove name="WebDAV" />
    </handlers>
</system.webServer>
...