带引号的WCF服务参数

本文关键字:服务 参数 WCF | 更新日期: 2023-09-27 18:15:38

我试图传递一个参数,其中包括引号"["answers"]"的url。虽然我正在编码参数字符串,但我得到了一个与"路径中的非法字符"相关的错误。如果我观察路径值,它不包括"["编码!有什么建议吗?

string parameter = System.Net.WebUtility.UrlEncode("naFwi@dipSoKSws[sdoO");
var httpClient = new HttpClient(new NativeMessageHandler());
httpClient.BaseAddress = new Uri("http://127.0.0.1:8080/");
var response = await httpClient.GetAsync(string.Format("Service.svc/function/{0}", parameter));

提前感谢!

带引号的WCF服务参数

可以将参数值作为base64编码的字符串传递。这样你就可以非常确定你的数据不会损坏。

var bytes = System.Text.Encoding.UTF8.GetBytes(plainText);
string parameter = System.Convert.ToBase64String(bytes);