Pergunta
Eu estou olhando para implementar um servidor WebDAV em ASP.Net. o aplicativo será implantado para o IIS 6. Eu vi algumas estruturas que fornecem essa funcionalidade, mas eu não consigo identificar como eles são capazes de realizá-lo sem (aparentemente) modificar IIS configurações.
A minha pergunta concreta é como faço para configurar o IIS e ASP.Net modo que um IHttpModule / IHttpHandler pode ter uma oportunidade para lidar com qualquer dos verbos WebDAV adicionais (ou seja BLOQUEIO, opções, PROFIND, etc.)
Solução
Não há nenhuma maneira de configurar WebDAV verbos no IIS 6 sem modificar IIS configurações. Isso só é possível com o IIS 7 e posterior.
Para lidar com todos os verbos exigidos pelo WebDAV no IIS 6, você vai precisar para criar uma aplicação wildacrd mapear. clique direito em sua aplicação web no IIS 6 console do MMC e vá para Propriedades -> Virtual Directory Tab -> Configuração . Clique Inserir para adicionar novo mapa curinga.
- Executable - \ Microsoft.NET \ Framework \
\ aspnet_isapi.dll - Verifique se o arquivo existe - Desmarcado
Em inicialAnuário guia de suas propriedades de aplicação definir permissões de execução e apenas scripts e permitir que lê.
Aqui está o exemplo web.config: http: // www .webdavsystem.com / servidor / prev / v2 / documentation / hosting_iis_asp_net / webconfig_example
Por favor note que este exemplo web.config foi especificamente criado e testado com ASP.NET 2.0 no IIS 6 no Server 2003 e IIS 5.1 em XP. Ele não lida com &,%, + e pontos de fuga (.).
ASP.NET 4.x fornece meios para lidar com quaisquer caracteres especiais no seu servidor WebDAV, configurando web.config , incluindo &,% e ''. O web.config que suporta o IIS versões 6-8 é gerado por ele bateu Assistente Motor servidor WebDAV .
Outras dicas
Confira artigos de Geoff Lane WebDAV:
- http: //www.zorched .net / 2006/01/20 / aspnet-web-application-sem-aspx-extensão / - configuração mostra de verbos no IIS e HttpModule configuração .
- http://www.zorched.net / 2006/02/02 / custom-webdav-servidor utilizando-net /
- http: //www.zorched .net / 2006/03/01 / mais-WebDAV-tips-tricks-e-bugs /
Gostaria de ter um olhar para este projecto http://sourceforge.net/projects/webdav/ para uma implementação do WebDAV em C #. Se você deve construir o seu próprio, é bom fazer referência a uma completado um; ainda melhor se você pode reutilizá-lo.
Sim, você precisará modificar IIS6 configurações para apoiar vinculativo o módulo ISAPI para .NET para todos os tipos de solicitação e não verificar se existe um arquivo. Não há outra maneira de fazer isso no IIS6 porque os clientes dev web em janelas fará uma opções solicitar na raiz (/) do site durante a verificação de suporte WebDAV.
II7 lhe dá mais opções ...