我试图在我的Web Api
中创建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;
}
}
我使用以下http请求使用Postman
插件使用HTTPDelete
方法
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>
也在web.config
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
</system.webServer>
但是没有为我工作相同的错误出现
我尝试用以下步骤从IIS
中删除WebDav
- 转
- >
Internet Information Services
>World Wide Web Services
>Common HTTP Features
- 然后删除
WebDav Features
Control Panel
, Programs and Fetures
, Turn windows features on or off
在这种情况下,我收到404
错误
这个问题有什么帮助吗?
在Web API
中,你不应该在URL中放置DeleteItem操作,这里的路由与MVC
不同。您应该使用HTTPDelete
方法调用,并使用此url:
http://localhost:85/RM.Services/api/Item/12
我从Web.config
中删除了以下配置
<modules>
<remove name="WebDAVModule" />
</modules>`
和keep
<handlers>
<remove name="WebDAV" />
</handlers>
现在一切正常