.Net WebDAV服务器

我期待在ASP.Net中实现WebDAV服务器。 该应用程序将部署到IIS 6.我已经看到一些框架提供此function,但我似乎无法确定他们如何能够在没有(显然)修改IIS设置的情况下完成它。

我的具体问题是如何配置IIS和ASP.Net,以便IHttpModule / IHttpHandler可能有机会处理任何其他WebDAV谓词(即LOCK,OPTIONS,PROFIND等)

在不修改IIS设置的情况下,无法在IIS 6中配置WebDAV谓词。 只有IIS 7及更高版本才有可能。

要处理IIS 6中WebDAV所需的所有谓词,您需要创建一个应用程序wildacrd映射。 右键单击IIS 6 MMC控制台中的Web应用程序,然后转到“ 属性” – >“ 虚拟目录”选项卡 – >“ 配置” 。 单击“ 插入”以添加新的通配符映射。

  • 可执行文件 – \ Microsoft.NET \ Framework \ <.Net Framework版本> \ aspnet_isapi.dll
  • validation该文件是否存在 – 未选中

在此处输入图像描述

在应用程序属性的“ 主目录”选项卡上, 仅对“脚本” 执行权限并允许读取。

这是web.config示例: http : //www.webdavsystem.com/server/prev/v2/documentation/hosting_iis_asp_net/webconfig_example

请注意,此web.config示例是在Server 2003上的IIS 6和XP上的IIS 5.1上使用ASP.NET 2.0专门创建和测试的。 它不处理&,%,+和尾随点(。)。

ASP.NET 4.x提供了处理WebDAV服务器中任何特殊字符的方法, 配置web.config ,包括&,%和’。’。 支持IIS版本6-8的web.config由IT Hit WebDAV服务器引擎向导生成 。

我将看一下这个项目http://sourceforge.net/projects/webdav/,了解C#中的webdav实现。 如果你必须建立自己的,那么引用完成的那个是很好的; 如果可以重复使用它会更好。

是的,您需要修改IIS6设置以支持将.NET的ISAPI模块绑定到所有请求类型,而不是检查文件是否存在。 在IIS6上没有其他方法可以执行此操作,因为在检查webdav支持时,Windows上的Web开发客户端将在网站的根(/)上执行OPTIONS请求。

II7为您提供更多选择……