为什么我必须卸载 WebDav?

Why do I have to uninstall WebDav?

WebDav 阻止我的客户使用 Microsoft 在其存储库设计模式中推荐的常见 HTTP 方法 PUT 和 DELETE:

http://www.asp.net/web-api/overview/older-versions/creating-a-web-api-that-supports-crud-operations

除了由于 IIS 阻止 PUT 和 DELETE 方法而与 IIS 完全不兼容之外,本教程很棒,我是不是错过了教程中的某些内容? Microsoft 现在开始推荐 APACHE 或 NGINX 而不是 IIS 了吗?

我现在唯一的选择就是完全卸载 WebDav,那么 WebDav 除了充当等待删除的数字附件之外还有什么意义?

不,我已经尝试对我的 Web.config 进行所有操作,但我仍然没有成功:

  <system.webServer>
    <modules>
      <remove name="WebDAVModule" />
      <remove name="FormsAuthentication" />
    </modules>
    <handlers>
      <remove name="WebDAV" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>

所以我的问题是,WebDav 是否和桥上的洞一样有用?

are there any draw backs to removing [WebDAV, which is] installed by default?

没有。如果您不使用它,您将不会错过它。

WebDAV 是一种允许在支持它的客户端和 HTTP 服务器之间进行文件交换的协议。

IIS 提供了一种 Webdav 实现,但还有更多。如果您构建自己的 REST api,您实际上是在构建自己的 webdav 实现 - 您可能只想添加 PROPFIND 支持以使其完整。

我是 webdav server framework for java 的作者,通常有几家公司在他们的服务器应用程序中使用 webdav 实施 webdav。

所以你的问题真的是:IIS Webdav 实现有用吗?答案很少。通过 Internet 在 IIS 中编辑物理文件的用例并不多。

另一个问题是 "is the webdav protocol useful?",答案是肯定的,尤其是考虑到 iCloud 是基于 webdav 构建的,用于同步文件、日历和联系人。