.Net WebDAV-сервер

Я хочу реализовать сервер WebDAV в ASP.Net. приложение будет развернуто в IIS 6. Я видел несколько фреймворков, которые предоставляют эту функциональность, но я не могу понять, как они могут это сделать без (очевидно) изменения настроек IIS.

Мой конкретный вопрос заключается в том, как настроить IIS и ASP.Net, чтобы IHttpModule/IHttpHandler мог обрабатывать любые дополнительные глаголы WebDAV (например, LOCK, OPTIONS, PROFIND и т. д.)


person Andrew Theken    schedule 09.03.2009    source источник


Ответы (3)


Невозможно настроить команды WebDAV в IIS 6 без изменения настроек IIS. Это возможно только с IIS 7 и выше.

Для обработки всех глаголов, требуемых WebDAV в IIS 6, вам потребуется создать карту подстановочных знаков приложения. Щелкните правой кнопкой мыши свое веб-приложение в консоли MMC IIS 6 и перейдите на вкладку Свойства->Виртуальный каталог->Конфигурация. Нажмите Вставить, чтобы добавить новую карту с подстановочными знаками.

  • Исполняемый файл — \Microsoft.NET\Framework\‹.Net Framework Version>\aspnet_isapi.dll
  • Убедиться, что файл существует – флажок не установлен

введите здесь описание изображения

На вкладке Домашний каталог в свойствах приложения установите для Разрешения на выполнение значение Только сценарии и разрешите чтение.

Вот пример web.config: http://www.webdavsystem.com/server/prev/v2/documentation/hosting_iis_asp_net/webconfig_example

Обратите внимание, что этот пример web.config был специально создан и протестирован с ASP.NET 2.0 на IIS 6 на сервере 2003 и IIS 5.1 на XP. Он не обрабатывает &, %, + и конечные точки (.).

ASP.NET 4.x предоставляет средства для обработки любых специальных символов на вашем сервере WebDAV, настройки web.config, включая &, % и '.'. Файл web.config, поддерживающий IIS версий 6–8, создается с помощью мастера IT Hit WebDAV Server Engine.

person IT Hit WebDAV    schedule 12.02.2013

Ознакомьтесь со статьями Джеффа Лейна на WebDAV:

person Corbin March    schedule 09.03.2009

Я бы посмотрел на этот проект http://sourceforge.net/projects/webdav/ для реализация webdav на C#. Если вы должны создать свой собственный, неплохо сослаться на завершенный; еще лучше, если вы можете использовать его повторно.

Да, вам потребуется изменить настройки IIS6, чтобы поддерживать привязку модуля ISAPI для .NET ко всем типам запросов и не проверять, существует ли файл. Другого способа сделать это в IIS6 нет, потому что клиенты веб-разработки в Windows будут выполнять запрос OPTIONS в корневом каталоге (/) веб-сайта при проверке поддержки webdav.

II7 дает вам больше возможностей...

person Ira Miller    schedule 10.03.2009