2011-07-14 27 views
13

He creado un servicio OData (Servicio de datos WCF) y un consumidor para probarlo.¿Cómo puedo hacer que OData DELETE funcione?

Anteriormente, cuando intenté eliminar, recibí el mensaje de error WebDAV 405, "Método no permitido".

Así que Google y encontró:

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

He seguido las instrucciones y quité el módulo WebDav de mi sitio web (servicio) en IIS 7.

Ahora me sale este mensaje de error en su lugar:

"HTTP Error 500.21 - Error interno del servidor

Handler "WebDAV" tiene una mala módulo" WEBDA VModule "en su lista de módulos

Módulo: IIS Web Core Notificación: ExecuteRequestHandler"

Si usted tiene una solución que hará que este problema desaparezca, yo lo agradecería muchísimo ... de lo contrario, si usted' Eres un gurú de IIS, y estás pensando: "Este tipo no tiene idea de lo que está haciendo", por favor, apúntame en la dirección de algún material útil de lectura en línea.

Gracias de antemano.

Respuesta

31

El módulo WebDAV bloqueará los verbos DELETE y PUT (actualización) para IIS. Puede desinstalar WebDAV (recomendado) o simplemente eliminarlo de los controladores del sitio. Más detalles se pueden encontrar aquí: http://forums.iis.net/t/1166025.aspx

Una forma de hacer esto es añadir las siguientes líneas a remove web.config de su sitio:

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

Gracias por esto. Después de seguir las instrucciones del sitio en el enlace que proporcionó, ¡funcionó! Ejecute IIS7, seleccione el sitio, abra módulos desde la vista de características, elimine WebDAV, abra las asignaciones del controlador desde la vista de características, elimine WebDAV. Reinicie IIS7. –

+1

Esto resolvió nuestro problema, también. Agregué el ejemplo web.config del enlace @TRayburn proporcionado, ya que creo que es mejor que el método manual. –

+3

Esto me estaba volviendo loco. Quité el 'WebDAVModule' pero olvidé el controlador. Estaba lanzando 500 errores hasta que eliminé 'WebDAV' también. – CBono

Cuestiones relacionadas