我有我的REST Web服務,它應接收帶有西裏爾字母的GET編碼請求。REST Web服務中的西裏爾字母GET請求
例如:?www.service/SRV參數1 =%D1%E0%ED%EA%F2
我知道,這是Windows的1251 ISO-8859-1,但作爲輸入參數的值在我的網絡服務功能中,總是有類似問號的東西。我覺得該服務將字符串轉換爲UTF-8。
是否有可能在Windows-1251代碼頁中recive GET請求?
還有一個類似的線程:Cyrillic letters are incorrectly encoded in the C# Web Service 答案是使用utf-8編碼。但即時通訊我的情況下,我不能改變請求到Web服務。
Web服務描述:
[OperationContract]
[WebInvoke(Method="GET", ResponseFormat=WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = @"param?p1={p1}&p2={p2}&p3={p3}…")]
string MyFunction(string p1, string p2, string p3, …);
我剛纔想到的解決辦法是防止自動解碼GET參數。如果只有函數可以得到原始的編碼參數,解碼它沒什麼大不了的。但我不知道這是否可能。 –
如何從URI的查詢字符串中讀取參數? –
@SimonMourier使用WebInvoke –