【问题标题】:Extra Escape Characters added to string From Web Service额外的转义字符添加到来自 Web 服务的字符串
【发布时间】:2014-02-02 10:46:54
【问题描述】:

我有 2 个服务,一个 WCF 服务和一个 Web Api 服务。 Web api 服务只是调用 WCF 服务上的一个方法并返回结果。 WCF服务上方法的返回类型为Xml格式的字符串,例如:

 "<Person Name=\"SomeGuy\" />"

"\" 是用来转义 " 字符。但是 web api 服务的返回字符串是:

 "<Person Name=\\\"SomeGuy\\\" />"

它似乎将我的字符串视为字符串,因此转义了我的转义字符。当我尝试将结果转换为 Xml 时,它显然会失败,因为它正在尝试转换一个看起来像第一个字符串的字符串。

如何让第二个服务“按原样”返回字符串而不进行修改?

【问题讨论】:

    标签: xml string wcf escaping asp.net-web-api


    【解决方案1】:

    找到了解决办法。我将返回类型更改为 HttpResponseMessage 并显式设置返回类型:

    var resp = new HttpResponseMessage()
    {
        Content = new StringContent("<Person Name=\"SomeGuy\" />")
    };
    resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");
    return resp;
    

    这意味着返回值将被视为 Xml 而不是字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 2021-01-27
      相关资源
      最近更新 更多