我正在尝试在我的HttpDelete
中创建Web Api
服务,但它无效并给我以下错误
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>
还在web.config
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
</system.webServer>
但是对我来说没有任何效果会出现同样的错误
我尝试使用以下步骤从WebDav
删除IIS
Control Panel
然后Programs and Fetures
然后Turn windows features on or off
Internet Information Services
然后World Wide Web Services
然后Common HTTP Features
WebDav Features
在这种情况下,我收到了404
错误
这个问题有什么帮助吗?
答案 0 :(得分:1)
在Web API
中,您不应该在您的网址中添加操作DeleteItem,此处的路由与MVC
不同。您应该使用HTTPDelete
方法拨打电话并使用此网址:
http://localhost:85/RM.Services/api/Item/12
答案 1 :(得分:1)
我从Web.config
<modules>
<remove name="WebDAVModule" />
</modules>`
并保持
<handlers>
<remove name="WebDAV" />
</handlers>
现在一切正常