2010-09-19 4 views
6

J'ai créé un service de rétention WCF dans .NET 4 et je l'ai publié sous IIS 7.5/windows 7 x86. Les verbes GET et POST a bien fonctionné, mais le SUPPRIMER et PUT a donné une erreur:Problèmes liés à WebDav pour le service Web WCF restitué

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

Après googler (beaucoup), je l'ai découvert que le problème est causé par le module WebDav qui est installé (automatiquement? ne sais pas) dans IIS. La seule approche qui a fonctionné pour moi était celle trouvée here.

Cependant, supprimer le module webdav de l'ensemble du site Web est un peu trop intrusif, à mon avis. Est-ce que quelqu'un connaît une autre approche pour inhiber l'action de filtrage sur les verbes imposés par webdav, mais seulement pour une application web spécifique, pas pour l'ensemble du site?

Merci.

EDIT Je sais à propos de missing put and delete still leads to restful service - mais je continue à vouloir permettre à ces verbes.

Répondre

12

Vous n'avez pas besoin de retirer le module pour le site entier. Vous pouvez configurer des modules par application. La section Modules est disponible dans la console de gestion par application.

Vous devez vraiment supprimer l'application WebDav for REST car les verbes PUT et DELETE étaient précédemment définis pour WebDav et sont automatiquement utilisés par WebDav.

+3

+1: True ... J'ai ajouté: lmsasu