C# .Net WebDAV服务器

C# .Net WebDAV服务器,c#,.net,webdav,C#,.net,Webdav,我希望在ASP.Net中实现WebDAV服务器。该应用程序将部署到IIS 6。我见过一些提供此功能的框架,但我似乎无法确定它们如何能够在不(显然)修改IIS设置的情况下实现此功能 我的具体问题是如何配置IIS和ASP.Net,使IHttpModule/IHttpHandler有机会处理任何其他WebDAV动词(即锁定、选项、PROFIND等)查看Geoff Lane关于WebDAV的文章: -显示IIS和HttpModule安装程序中谓词的配置 我想看一看这个项目,看看它在C#中的webd

我希望在ASP.Net中实现WebDAV服务器。该应用程序将部署到IIS 6。我见过一些提供此功能的框架,但我似乎无法确定它们如何能够在不(显然)修改IIS设置的情况下实现此功能


我的具体问题是如何配置IIS和ASP.Net,使IHttpModule/IHttpHandler有机会处理任何其他WebDAV动词(即锁定、选项、PROFIND等)

查看Geoff Lane关于WebDAV的文章:

  • -显示IIS和HttpModule安装程序中谓词的配置

我想看一看这个项目,看看它在C#中的webdav实现。如果你必须建立自己的,最好参考一个完整的;如果你能重用它,那就更好了

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


II7提供了更多选项…

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

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

  • 可执行文件-\Microsoft.NET\Framework\\aspnet\u isapi.dll
  • 验证文件是否存在-未选中

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

以下是web.config示例:

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

ASP.NET 4.x提供了处理WebDAV服务器中任何特殊字符的方法,包括&、%和“.”。支持IIS版本6-8的web.config由生成