Extra Escape Characters添加到字符串From Web Service

时间:2014-02-02 10:46:54

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

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

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

“\”是为了逃避“字符。但是来自web api服务的返回字符串是:

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

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

如何让第二个服务按原样返回字符串而不是修改它?

1 个答案:

答案 0 :(得分:0)

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

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

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