2010-09-19 6 views
6

Ho creato un servizio restfull WCF in .NET 4 e l'ho pubblicato su IIS 7.5/windows 7 x86. I verbi GET e POST funzionava bene, ma il DELETE e PUT hanno dato un errore:WebDav problemi per il restfull servizio Web WCF

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

Dopo googling (molto), ho scoperto che il problema è causato dal modulo WebDav che viene installato (automaticamente? non lo so) in IIS. L'unico approccio che ha funzionato per me è stato quello trovato here.

Tuttavia, rimuovere il modulo webdav dall'intero sito Web è un po 'troppo invadente, a mio parere. Qualcuno conosce un altro approccio per inibire l'azione di filtraggio sui verbi imposti da webdav, ma solo per un'applicazione web specifica, non per l'intero sito web?

Grazie.

EDIT che so di missing put and delete still leads to restful service - ma continuo a voler permettere a questi verbi.

risposta

12

Non è necessario rimuovere il modulo per l'intero sito. È possibile configurare i moduli per applicazione. La sezione Moduli è disponibile nella console di gestione per applicazione.

È necessario rimuovere WebDav per l'applicazione del servizio REST perché i verbi PUT e DELETE sono stati precedentemente definiti per WebDav e vengono automaticamente utilizzati da WebDav.

+3

+1: Vero ... Ho aggiunto: lmsasu