【问题标题】:The '`' character and RestSharp request body during sending the list发送列表期间的 '`' 字符和 RestSharp 请求正文
【发布时间】:2013-08-22 08:26:50
【问题描述】:

我正在尝试使用 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);

它似乎不喜欢泛型的序列化方式。 有什么建议应该如何将列表传递给请求?

【问题讨论】:

  • 请展示一个简短但完整的示例来说明问题。这里的内容太少了。

标签: c# asp.net generics serialization restsharp


【解决方案1】:

添加: restRequest.RequestFormat = DataFormat.Json 之前: restRequest.AddBody(strList);

【讨论】:

  • 从 RestSharp 106.5.4 更新到 106.6.3 会导致此错误,此解决方案不起作用。
【解决方案2】:

您可以使用 Server.HtmlEncode 对字符进行编码,然后再进行解码。

【讨论】:

    【解决方案3】:

    在 106.6.x 以上版本中,AddBody() 方法不再适用于 Json,即使 RequestFormat 设置为 Json。 AddBody() 方法也被标记为 deprericated,建议将其更改为 AddXmlBody() 也不起作用(抛出相同的异常)。

    不过,解决方案非常简单:改为调用 AddJsonBody(),一切正常。

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 1970-01-01
      • 2016-10-21
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多