2010-09-19 14 views
6

Ich erstellte einen WCF Restfull-Service in .NET 4 und ich veröffentlichte es unter IIS 7.5/Windows 7 x86. Die Verben GET und POST hat gut funktioniert, aber die DELETE und PUT gab einen Fehler:WebDav Probleme für restfull WCF Web-Service

Error: The remote server returned an error: (405) Method Not Allowed. 

Nach googeln (viel), habe ich herausgefunden, dass das Problem durch WebDav Modul verursacht wird, die (automatisch installiert ist? nicht) in IIS. Der einzige Ansatz, der für mich funktionierte, war der gefundene here.

Allerdings ist das Entfernen des Webdav-Moduls von der gesamten Website meiner Meinung nach etwas zu aufdringlich. Kennt jemand einen anderen Ansatz, um die Filterwirkung auf Verben zu verhindern, die von webdav auferlegt werden, aber nur für eine bestimmte Webanwendung, nicht für die gesamte Website?

Vielen Dank.

EDIT Ich weiß über missing put and delete still leads to restful service - aber ich halte wollen diese Verben ermöglichen.

Antwort

12

Sie müssen das Modul für die gesamte Site nicht entfernen. Sie können Module pro Anwendung konfigurieren. Der Abschnitt "Module" ist in der Managementkonsole pro Anwendung verfügbar.

Sie müssen wirklich WebDav für REST-Dienstanwendung entfernen, da PUT und DELETE-Verben für WebDav zuvor definiert wurden und von WebDav automatisch verbraucht werden.

+3

+1: Wahr ... Ich habe hinzugefügt: lmsasu