2011-07-14 18 views
13

Stworzyłem usługę OData (usługa danych WCF) i konsument, aby ją przetestować.Jak mogę uruchomić OData DELETE?

Poprzednio podczas próby usunięcia otrzymałem komunikat o błędzie WebDAV 405 "Metoda niedozwolona".

więc google i znalazłem:

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

I przestrzegać instrukcji i usunięte moduł WebDAV z mojej strony (usług) w IIS 7.

Teraz otrzymuję komunikat o błędzie zamiast:

"błąd HTTP 500,21 - Internal Server Error

Handler "WebDAV" ma zły moduł" WebDA VModule „na swojej liście modułu

Moduł: IIS Web Rdzeń Powiadomienie: ExecuteRequestHandler”

Jeśli masz rozwiązanie, które uczynią ten problem znika, ja naprawdę doceniam to ... inaczej, jeśli jesteś jesteś guru IIS i myślisz: "Ten facet nie ma pojęcia, co robi", proszę wskazać mi kierunek przydatnego materiału do czytania w Internecie.

Z góry dziękuję.

Odpowiedz

31

Moduł WebDAV zablokuje oba czasowniki DELETE i PUT (update) dla IIS. Możesz odinstalować WebDAV (zalecane) lub po prostu usunąć go z obsługi witryny. Więcej szczegółów można znaleźć tutaj: http://forums.iis.net/t/1166025.aspx

Jednym ze sposobów, aby to zrobić, aby dodać następujące linie do pliku web.config remove witryny:

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

Dzięki za to. Po wykonaniu instrukcji ze strony pod podanym linkiem, zadziałało! Uruchom IIS7, wybierz witrynę, otwórz moduły z widoku funkcji, usuń WebDAV, otwórz mapowania obsługi z widoku funkcji, usuń WebDAV. Zrestartuj IIS7. –

+1

To również rozwiązało nasz problem. Dodałem przykład web.config z podanego linku @TRayburn, ponieważ uważam, że jest lepszy niż metoda ręczna. –

+3

To doprowadzało mnie do szału. Usunąłem 'WebDAVModule', ale zapomniałem obsługi. Rzucał 500 błędów, dopóki nie usunąłem 'WebDAV'. – CBono