【问题标题】:Disable WebDav Programatically .NET 3.1 or grater以编程方式禁用 WebDav .NET 3.1 或更高版本
【发布时间】:2021-08-05 01:11:14
【问题描述】:

我正在使用 IIS 8 来托管 .NET core 3.1 应用程序。

最近发现没有启用DELETE http方法。

在做了一些研究之后,我发现 WebDavModule 阻止了它。

几周以来,我一直在尝试以编程方式禁用此功能,但我可以做到。

现在,我已经能够从 IIS 的映射和模块中手动删除 WebDav。尽管如此,每次重新部署应用程序时,它都会重新启动。

一些注意事项: 通过在 webconfig.json 文件中将其配置为禁用,我找到了 .Net core 和 ASP.NET 以前版本的解决方案,但与新版本无关。

有谁知道如何以编程方式禁用 WebDav 或至少以编程方式将其配置为所有 DELETE 请求?

谢谢大家!

【问题讨论】:

    标签: c# .net iis webdav windows-server


    【解决方案1】:

    您可以手动编辑 Web.config 以禁用 WebDAV。

    在 Web.config 文件中找到 部分中的部分。在之前添加<remove name="WebDAVModule"/>。在 部分中找到该部分。在前面加上<remove name="WebDAV"/>

    您可能需要回收应用程序池或重新启动 IIS 才能使此更改生效。

     <system.webServer>
        <modules>
          <!-- Remove WebDAV module so that we can make DELETE requests -->
          <remove name="WebDAVModule" />
        </modules>
        <handlers>
          <!-- Remove WebDAV module so that we can make DELETE requests -->
          <remove name="WebDAV" />
        </handlers>
    </system.webServer>
    

    【讨论】:

    • 您好!谢谢您的答复!问题是,.NET core 3+ 应用程序默认不附带 web.config 文件。我应该手动生成一个吗?
    猜你喜欢
    • 1970-01-01
    • 2011-04-18
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多