Asp.net web api 如何使用IIS Express和Web API允许删除方法?

Asp.net web api 如何使用IIS Express和Web API允许删除方法?,asp.net-web-api,web-api-testing,iis-express-10,Asp.net Web Api,Web Api Testing,Iis Express 10,我正试图通过Fiddler向我的Web API服务发送一个删除请求,并返回一个405“methodnotallowed”错误 我已经广泛阅读了关于删除web.config中的“WebDAV”模块的内容以及类似的建议(无论如何,我的applicationhost.config中都没有启用WebDAV),但我尝试过的任何方法都不起作用 我的服务当前正在IIS Express 10上运行(从Visual Studio启动)。我的web.config文件中确实包含以下内容: <add name="

我正试图通过Fiddler向我的Web API服务发送一个删除请求,并返回一个405“methodnotallowed”错误

我已经广泛阅读了关于删除web.config中的“WebDAV”模块的内容以及类似的建议(无论如何,我的applicationhost.config中都没有启用WebDAV),但我尝试过的任何方法都不起作用

我的服务当前正在IIS Express 10上运行(从Visual Studio启动)。我的web.config文件中确实包含以下内容:

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"
    preCondition="integratedMode,runtimeVersionv4.0"/>

我本以为
动词=“*”
片段允许删除,但它似乎不起作用

另一个注意事项——当我在Fiddler中检查响应时,在安全标题下会显示:
Allow:GET,POST

我不确定“Allow”参数设置在哪里(我对Web API不熟悉)

任何帮助都将不胜感激。请让我知道你还需要我提供什么信息,我会补充的


谢谢大家!

您可以在
%userprofile%\documents\IISExpress\config
文件夹中修改IIS Express
applicationHost.config
。要启用无扩展URL的放置和删除,请向下滚动到IIS Express applicationHost.config文件的底部,并查找以以下开头的处理程序条目:
更新您的web配置,如这个

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true">
        <remove name="WebDAVModule"/> <!-- ADD THIS -->
    </modules>

刚刚创建了一个新的webapi项目[
针对.net framework 4.7.1
]

通过Fiddler,我可以在不更改web.config的情况下点击删除端点

请确保使用正确的端点,包括id参数

e、 g
http:localhost:xxxx/api/values/id
//请包括id,xxxx是端口号

如果在没有
id
的情况下使用
http:localhost:xxxx/api/values
,我会得到相同的结果
405方法不允许


希望这能有所帮助。

谢谢您的解释。这是我的问题的根源,因为我试图传递一个要删除的对象(因为我的服务中的方法正在调用Dapper Delete方法,该方法接受一个对象,而不是一个Id)。我最终传递了一个Id,然后在调用delete方法之前从db中提取对象,结果很好。愚蠢的问题-当传递对象而不是Id时,有没有办法让DELETE动词起作用?