繁体   English   中英

如何删除 Startup.cs 中的 WebDav ASP.NET Core

[英]How to remove WebDav in Startup.cs ASP.NET Core

我通过FTP发布了一个.NET核心Web API。

默认情况下,某些方法不起作用(放置和删除),因为服务器默认启用了 WebDAV。

要删除它,在发布应用程序后,我必须手动将 go 更改为 FTP 上的 web.config 并添加以下行

  <modules runAllManagedModulesForAllRequests="false">
    <remove name="WebDAVModule" />
  </modules>

一个 go 如何将其设置为自动删除 - 我假设通过 Startup.cs

您必须从 iis 服务器中删除 WebDAVModule。

脚步:

  1. Go 到你的网站 IIS
  2. 点击“模块”
  3. 删除 WebDAVModule
  4. 重新启动站点(可能不需要)

PUT 和 DELETE 请求现在应该可以工作了。

您只需要将 web.config 文件添加到您的 API 中,然后当您自动发布时,它将采用您的 web.config。

兄弟,我试过了,但这对我有用。

但是我通过转到已发布的文件并打开 web.config 文件成功了。

在那里我做了一些更改,如下所示。

<system.webServer>
 <modules>
   <remove name="WebDAVModule" />
 </modules>

 <handlers>
  <remove name="WebDAV" />
  <add name="aspNetCore" path="*" verb="*" 
      modules="AspNetCoreModuleV2" resourceType="Unspecified" />
  </handlers>
  <aspNetCore processPath="dotnet" arguments=".\#.dll" stdoutLogEnabled="#" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>

我处于类似的困境中。 但是我可以配置命令在我的服务器上部署后运行。 如果你能做同样的事情,运行

appcmd delete module WebDAVModule /site.name:"MyWebSite"

命令在C:\Windows\System32\.netsrv>路径中。

将此代码添加到您的 Web 配置文件中:

   <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" />
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
        </handlers>
    
        other configs here...
    
    
    </system.webServer>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM