簡體   English   中英

無擴展REST WCF服務針對PUT方法返回http 405

[英]Extensionless REST WCF service returns http 405 for PUT method

我有一個在VS2008(3.5)中編寫的IIS6下在本地運行的WCF REST服務。

svc文件的asp.net ISAPI映射配置為接受我已啟用通配符腳本映射的所有動詞,以允許無擴展URI通過url重寫與服務一起使用。

因此,使用指定的.svc文件對其余服務運行PUT即可。 在省略svc的情況下執行相同操作將返回405。

http:// thehost / therestmethod = 405 http://thehost/theservice.svc/therestmethod = 200

所有的url書面版本都可以使用PUT作為唯一例外! 當嘗試在無擴展版本上進行PUT時,我按了url rewrite ok,但之后出錯,因此我知道重寫成功。

我嘗試使用WCF跟蹤,但這沒有記錄錯誤。 似乎還沒走那么遠?!?!

這里拍攝:

HTTP動詞:盡管大多數防火牆和Web客戶端都允許使用HTTP GET和POST動詞,但其中一些不支持PUT,DELETE和其他動詞。 要啟用此類不受支持的動詞的調用,通常的做法是在POST請求上使用X-HTTP-Method-Override HTTP標頭指定您要調用的方法。 XHttpMethodOverride示例描述了如何實現此功能。

我想在IIS網址重寫/允許的動詞檢查代碼中有些不完全一致。
希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM