问题描述
我正在使用.NET的REST服务(实际上是一个呈现XML的php页面)。
由于HttpRequest方法看起来非常糟糕,因此我尝试为此服务构建WCF客户端,但遇到一个问题,我的URI模板如下所示:
page.php?product={productType}
productType参数是一个字符串,它可能包含(并且在大多数情况下确实包含)非ASCII字符。据我了解,WCF默认情况下使用UTF-8编码参数,但是似乎我正在使用的服务(并且我无法控制它,因为它来自第三方)正在尝试对那些参数进行解码参数与另一个Windows-1257编码。
所以问题是-我可以以某种方式更改WCF用于编码参数值的编码吗?
解决方法
您确实不想尝试使用WCF客户端访问非WCF服务。甚至没有访问WCF REST服务!去寻找http://wcf.codeplex.com项目中包含的HTTPClient。它比HttpWebRequest使用起来容易得多。