我需要定義一個WCF GET方法,它可以將所有查詢參數作爲單個字符串進行檢索。例如:將WCF查詢參數作爲單個字符串進行查看
https://xxx.xxx.xxx.xxx/token?client_id=abc_def&client_name=&type=auth&code=xyz
我想要抓住字符串 「CLIENT_ID = abc_def & CLIENT_NAME = &類型= AUTH &代碼= XYZ」。
如何爲該方法定義URI模板?我嘗試了以下,但它不起作用,因爲我會得到400錯誤的請求。更換/」和‘?’沒有什麼區別。
[WebGet(UriTemplate = "token/{Params}")]
[OperationContract]
Stream GetToken(string Params);
該方法將調用外部服務,只是前進的任何查詢它接收到。我不想單獨檢索每個參數,因爲它是可能的參數。該參數可以增加
另一個URL會是這樣的:
https://xxx.xxx.xxx.xxx/person/123456?client_id=abc_def&client_name=&type=auth&code=xyz
在這種情況下,我想抓住兩個字符串「123456」和「的client_id = abc_def & client_name = & type = auth & code = xyz「。
如何爲該方法定義URI模板?
嗨,我已經知道如何做到這一點。但那不是我想要的。我想要將整個查詢參數作爲單個字符串。正如我在文章中所解釋的,我的服務將調用另一個外部服務,傳遞查詢參數。我不想分析每個查詢參數。如果我能夠作爲單個字符串進行檢索,那麼如果將來查詢參數發生更改,則不需要更改代碼。 – user3573403
它看起來很明顯,但是,你嘗試過'HttpContext.Current.Request.QueryString'嗎? –
否。首先,我該如何指定方法的URI模板? – user3573403