C# HttpDelete在Web Api中不工作

C# HttpDelete在Web Api中不工作,c#,asp.net-web-api,webdav,http-delete,C#,Asp.net Web Api,Webdav,Http Delete,我正试图在我的webapi中创建HttpDelete服务,但它不起作用,并给出以下错误 Handler "WebDAV" has a bad module "WebDAVModule" in its module list 我的服务代码实现如下 [HttpDelete] public string DeleteItem(long itemId) { try { // Implementation goes here

我正试图在我的
webapi
中创建
HttpDelete
服务,但它不起作用,并给出以下错误

Handler "WebDAV" has a bad module "WebDAVModule" in its module list
我的服务代码实现如下

   [HttpDelete]
    public string DeleteItem(long itemId)
    {
        try
        {
            // Implementation goes here
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
我使用
Postman
插件使用
HTTPDelete
方法使用以下http请求

  http://localhost:85/RM.Services/api/Item/DeleteItem?itemId=12 
我在
web.config

<system.webServer>
    <modules>
        <remove name="WebDAVModule" />
    </modules>
    <handlers>
        <remove name="WebDAV" />
    </handlers>
</system.webServer>
  <system.webServer>
      <validation validateIntegratedModeConfiguration="false" />
      <modules runAllManagedModulesForAllRequests="true">
        <remove name="WebDAVModule" />
      </modules>
  </system.webServer>
但是对我来说没有任何效果,同样的错误出现了

我尝试通过以下步骤从
IIS
中删除
WebDav

  • 进入
    控制面板
    然后进入
    程序和设备
    然后进入
    打开或关闭windows功能
  • 然后
    互联网信息服务
    然后
    万维网服务
    然后
    通用HTTP功能
  • 然后删除
    WebDav功能
  • 在这种情况下,我收到了
    404
    错误


    在这个问题上有什么帮助吗?

    webapi
    中,您不应该在URL中添加操作DeleteItem,这里的路由与
    MVC
    不同。您应该使用
    HTTPDelete
    方法调用并使用以下url:

    http://localhost:85/RM.Services/api/Item/12 
    

    我从
    Web.config

    <modules>
        <remove name="WebDAVModule" />
    </modules>`
    
    
    `
    
    保持

    <handlers>
        <remove name="WebDAV" />
    </handlers>
    
    
    

    现在一切都正常了

    发布您的操作方法代码请检查编辑的问题请在调用此操作的位置添加代码。如果我有两个操作服务都标记有
    HTTPDelete
    url是什么?按参数进行的最佳匹配我尝试了此操作,但仍然不起作用,则会出现相同的错误
    处理程序“WebDAV”的模块列表中有一个坏模块“WebDAVModule”
    ,即使您从web.config中删除它?是的,我删除了添加到
    web.config
    的与
    WebDAV