2010-04-18 14 views
10

Tenemos un sistema CMS escrito en .NET C#. Este sistema tiene recursos de edición para plantillas (esencialmente archivos HTML) y varios otros archivos de soporte como CSS y archivos javascript.¿Implementar un servidor WebDAV en C#?

Estos "archivos" no son realmente archivos, sino registros de bases de datos y se editan usando simples áreas de texto antiguas dentro del sistema CMS. Para facilitar la edición de estos "archivos", una idea era implementar soporte WebDAV en el sistema CMS para estos archivos, para que los usuarios pudieran usar algún software cliente WebDAV para conectarse al CMS y luego abrirlos en VS 2008, por ejemplo. .

En primer lugar, ¿es esta una idea viable?

En segundo lugar, si es así ... ¿por dónde empezar? ¿Hay buenos artículos sobre la implementación de un servidor WebDAV en C# para proporcionar acceso a documentos físicos o documentos "pseudo" que en realidad son solo registros en una base de datos?

Cualquier entrada apreciado ....

+0

que fueron capaces de poner en práctica esto? También tengo ese requisito y necesito ayuda. No encuentro muchas pautas con respecto al tema. – tamizhan

+0

Sí, terminamos escribiendo esto desde cero. Básicamente es un HttpModule que responde a los verbos HTTP requeridos que usa el estándar WebDav. – HaukurHaf

+0

Gracias por responder. Es bueno saberlo. Estoy empezando con esto. Como POC, intento escribir un manejador simple y tener problemas. Agradecería cualquier ayuda aquí. Detalles - http://stackoverflow.com/questions/27625680/httphandler-for-webdav-requests – tamizhan

Respuesta

15

Una ruta a seguir es desarrollar un controlador HTTP personalizado mediante la implementación de la interfaz IHttpHandler o que probablemente podría ir con ASHX. Echa un vistazo a los recorridos en esta página. http://msdn.microsoft.com/en-us/library/system.web.ihttphandler.aspx

su controlador de WebDAV necesitará para procesar las solicitudes y despachar los manipuladores método apropiado para manejar los diversos métodos HTTP (GET, POST, PUT, DELETE, mover, copiar etc.). Los métodos que admita dependerán del nivel requerido de cumplimiento con las diversas clases de servidor WebDAV. Afortunadamente, hay un montón de código Java para WebDAV que puede encontrar y usar como referencia para su implementación.

Si la licencia GPL no es una restricción para usted, que podría ser digno de mirar Sphorium de WebDAV.NET http://sourceforge.net/projects/webdav/

Y hay opciones comerciales. http://www.webdavsystem.com/server

Y, por supuesto, el vínculo más importante, el RFC WebDAV http://www.ietf.org/rfc/rfc2518.txt

+0

Gracias, voy a ver esos enlaces :-) – HaukurHaf

Cuestiones relacionadas