2011-07-14 132 views
13

我創建了一個OData服務(WCF數據服務)和一個消費者來測試它。我如何獲得OData DELETE的工作?

此前,當我試圖刪除時,我收到了WebDAV 405錯誤消息「方法不允許」。

所以我用Google搜索,發現:

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

我按照說明操作,從我的網站(服務)在IIS中刪除WebDAV模塊7

現在我得到這個錯誤消息,而不是:

「HTTP錯誤500.21 - 內部服務器錯誤

處理程序 」的WebDAV「 有一個壞模塊」 WebDA VModule「在其模塊列表

模塊:IIS Web核心 通知:ExecuteRequestHandler」

如果你有一個解決方案,這將使這個問題漸漸遠去,我真的很感激它...否則,如果你」如果你是IIS大師,並且你在想「這個人不知道他在做什麼」,請向我提供一些有用的在線閱讀資料。

在此先感謝。

回答

31

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> 
+0

感謝。按照您提供的鏈接從網站上獲得指示後,它就可以工作了!運行IIS7,選擇站點,從功能視圖打開模塊,刪除WebDAV,從功能視圖打開處理程序映射,刪除WebDAV。重新啓動IIS7。 –

+1

這也解決了我們的問題。我從提供的鏈接@TRayburn添加了web.config示例,因爲我認爲它比手動方法更好。 –

+3

這讓我瘋狂。我已經刪除了'WebDAVModule',但忘記了處理程序。它拋出了500個錯誤,直到我也刪除了'WebDAV'。 – CBono