我正在尝试使用RestSharp向我的实体发布请求。
但我收到错误:
"System.Xml.XmlException : The '`' character, hexadecimal value 0x60,
cannot be included in a name."
我将列表放在查询正文中。
var strList = new List<string>();
strList.Add("one");
strList.Add("two");
restRequest.AddBody(strList);
似乎它不喜欢通用序列化的方式。 有没有建议如何将列表传递给请求?
答案 0 :(得分:7)
添加: restRequest.RequestFormat = DataFormat.Json 的前强>: restRequest.AddBody(strList);
答案 1 :(得分:4)
您可以使用Server.HtmlEncode对字符进行编码并稍后进行解码。
答案 2 :(得分:0)
在106.6.x版以上,即使RequestFormat设置为Json,AddBody()方法也不再适用于Json。另外,AddBody()方法被标记为已描述,建议将其更改为AddXmlBody(),该方法也不起作用(抛出相同的异常)。
虽然解决方案非常简单:而是调用AddJsonBody(),但一切正常。