2011-12-28 69 views
1

我有一個使用ado.net dataservices的項目。此項目最初是在VS2005和IIS6中開發的,但現在我將它移植到IIS7標準。我嘗試更新現有記錄時遇到了一個問題,put操作(對服務)失敗並提示以下瀏覽器警報:IIS Express拒絕ADO.Net數據服務中的PUT請求

URI'http:// localhost:6188/services/Datatracker .svc/provider'對於PUT操作無效。 URI必須指向PUT操作的單個資源。

我想這是因爲URI被當作一個文件夾,我知道,這可以通過配置進行修正,但我無法找到具體的設置

任何援助將不勝感激。

+1

什麼是您對該URL執行GET時的響應。如果你的服務遵循WCF數據服務使用的標準尋址方案,那麼它應該是一個實體集(響應應該是一個feed),在這種情況下,PUT確實是無效的(更新實體集意味着什麼?),你只能發佈POST到實體集URIs。 – 2011-12-29 12:05:52

+0

感謝您的評論,我結束了自己雖然找出了這一個 – lostinplace 2011-12-29 17:28:42

回答

1

所以事實證明這是一個看跌無效的語法和刪除請求:

http://localhost:6188/services/Datatracker.svc/provider 

有效的OData語法是:(OLKM代表唯一標識記錄的關鍵字段的calue)

http://localhost:6188/services/Datatracker.svc/provider('OLKM') 

舊的asp.net + iis6允許你繞過這個要求,但是iis7 & .net 3.5+要求你使用正確的語法。