c# - .Net WebDAV 服务器

标签 c# .net webdav

我希望在 ASP.Net 中实现 WebDAV 服务器。该应用程序将部署到 IIS 6。我见过一些提供此功能的框架,但我似乎无法确定他们如何在不(显然)修改 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 框架版本>\aspnet_isapi.dll
  • 验证文件是否存在 - 未选中

enter image description here

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

这是 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 服务器中任何特殊字符的方法,configuring web.config ,包括 &、% 和 '.'。支持 IIS 版本 6-8 的 web.config 由 IT Hit WebDAV Server Engine Wizard 生成.

关于c# - .Net WebDAV 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627705/

相关文章:

c# - TreatControlCAsInput 问题。这是一个错误吗?

c# - EF代码中的一个实体多个表首先正确的表名

.net - Path.Combine 如何与两个以上的参数一起使用?

java - 用于 WebDAV 上传的 Ant (1.8+) 任务

c# - Word 2010保存到WebDAV服务器后报错

java - 我可以在 Android Studio 中使用 C# 吗?

c# - 如何命名遍历树的方法和属性,就像在完全展开的文件夹浏览器中向下移动一样?

.net - System.Xml.Linq.XDocument' 在未引用的程序集中定义

.net - 无法在生成的程序集中获取应用程序实例(Razor 引擎)?

python - 使用启用了两步身份验证的 python 脚本从 nextcloud 下载文件