如何让OData DELETE工作?

时间:2011-07-14 17:03:23

标签: c# asp.net iis-7 odata wcf-data-services

我已经创建了一个OData服务(WCF数据服务)和一个用户来测试它。

以前,当我尝试删除时,我收到了WebDAV 405错误消息“Method Not Allowed”。

所以我用Google搜索并发现:

http://nikhilthaker86.wordpress.com/2010/03/27/issue-hosting-restful-services-on-iis-7/

我按照说明操作,从IIS 7中的网站(服务)中删除了WebDav模块。

现在我收到此错误消息:

“HTTP错误500.21 - 内部服务器错误

处理程序“WebDAV”在其模块列表中有一个错误的模块“WebDAVModule”

模块:IIS Web Core 通知:ExecuteRequestHandler“

如果你有一个可以解决这个问题的解决方案,我会非常感激...否则,如果你是一个IIS大师,你在想“这家伙不知道他在做什么”,请指出一些有用的在线阅读材料。

提前致谢。

1 个答案:

答案 0 :(得分:34)

WebDAV模块将阻止IIS的DELETE和PUT(更新)谓词。您可以卸载WebDAV(推荐),也可以直接从站点的处理程序中删除它。更多细节可以在这里找到:http://forums.iis.net/t/1166025.aspx

执行此操作的一种方法是将以下remove行添加到您网站的web.config中:

<system.webServer>
    <modules>
        <remove name="WebDAVModule" />
    </modules>
    <handlers>
        <remove name="WebDAV" />
    </handlers>
</system.webServer>