Внедрить сервер WebDAV в С#?

У нас есть система CMS, написанная на .NET С#. Эта система имеет возможности редактирования шаблонов (в основном, файлы HTML) и различные другие файлы поддержки, такие как файлы CSS и javascript.

Эти "файлы" - это не файлы, а записи базы данных, и они редактируются с использованием обычных старых текстовых полей в системе CMS.

Чтобы упростить редактирование этих "файлов", одна идея заключалась в том, чтобы внедрить поддержку WebDAV в системе CMS для этих файлов, чтобы пользователи могли использовать некоторое клиентское программное обеспечение WebDAV для подключения к CMS, а затем открыть их в VS 2008, например.

Во-первых, это приемлемая идея?

Во-вторых, если так... с чего начать? Любые хорошие статьи о внедрении сервера WebDAV в С# для обеспечения доступа к физическим документам или "псевдо" документам, которые на самом деле являются просто записями в базе данных?

Любой вход оценивается....

Ответ 1

Один из путей - разработать пользовательский обработчик HTTP путем реализации интерфейса IHttpHandler, или вы, вероятно, можете перейти с ASHX. Взгляните на прогулку на этой странице. http://msdn.microsoft.com/en-us/library/system.web.ihttphandler.aspx

Ваш обработчик WebDAV должен будет обрабатывать запросы и отправлять соответствующие обработчики методов для обработки различных HTTP-методов (GET, POST, PUT, DELETE, MOVE, COPY и т.д.). Какие методы вы будете поддерживать в зависимости от требуемого уровня соответствия различным классам сервера WebDAV. К счастью, имеется множество Java-кода для WebDAV, которые вы можете найти и использовать в качестве ссылки для своей реализации.

Если лицензия GPL не является для вас ограничением, это может стоить взглянуть на Sphorium WebDAV.NET http://sourceforge.net/projects/webdav/

И есть коммерческие варианты. http://www.webdavsystem.com/server

И, конечно, самая важная ссылка, RFDA WebDAV http://www.ietf.org/rfc/rfc2518.txt