HttpDelete 在 Web 中不起作用 Api
HttpDelete not working in Web Api
我正在尝试在我的 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;
}
}
我正在使用 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>
但对我没有任何作用出现同样的错误
我尝试通过以下步骤从 IIS
中删除 WebDav
- 转到
Control Panel
然后 Programs and Fetures
然后 Turn windows features on or off
- 然后
Internet Information Services
然后 World Wide Web Services
然后 Common HTTP Features
- 然后删除
WebDav Features
在这种情况下,我收到 404
错误
对这个问题有什么帮助吗?
在 Web API
中,您不应该在 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>
现在一切正常
我正在尝试在我的 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;
}
}
我正在使用 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
- 转到
Control Panel
然后Programs and Fetures
然后Turn windows features on or off
- 然后
Internet Information Services
然后World Wide Web Services
然后Common HTTP Features
- 然后删除
WebDav Features
在这种情况下,我收到 404
错误
对这个问题有什么帮助吗?
在 Web API
中,您不应该在 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>
现在一切正常