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