2010-12-16 91 views
1

我有個休息客戶端,試圖調用http://my-server/section1/section2?param1=fooWebGet增加了斜線不當

http://my-server/section1/section2?param1=foo 的http://我的服務器/ sectionX /章節Y參數2 =酒吧 http://my-server/sectionA/sectionC?param3=kuku

注意查詢參數鍵名稱變更(參數1,參數2,參數3 ...)

我實現的合同是

[WebGet(UriTemplate = "")] 
     [OperationContract] 
     Message MyMethod(); 

但是,這會導致實際的uri被調用爲: http://my-server/section1/section2/?param1=foo

請注意,在第2節和第2節之間添加了斜線。

有人知道如何預防嗎?

大衛

PS 請注意, 1)服用最後段+的參數作爲參數的MyMethod(和UriTemplate的使用的特技=「/ {lastSegment})將導致問號( ?)要解碼... 這會毀了完全去除UriTemplate呼叫請求 2)將導致方法名是URI的一部分......

回答

2

你真的不應該使用WCF合同中的客戶機上撥打REST服務電話,只需使用HTTPWebRequest或HttpClient撥打電話即可。