我有2个服务,一个WCF服务和一个Web Api服务。 web api服务只调用WCF服务上的方法并返回结果。 WCF服务上方法的返回类型是Xml格式的字符串,例如:
"<Person Name=\"SomeGuy\" />"
“\”是为了逃避“字符。但是来自web api服务的返回字符串是:
"<Person Name=\\\"SomeGuy\\\" />"
它似乎将我的字符串视为字符串,因此逃脱了我的转义字符。当我尝试将结果转换为Xml时,它显然会失败,因为它试图转换看起来像第一个字符串的字符串。
如何让第二个服务按原样返回字符串而不是修改它?
答案 0 :(得分:0)
找到解决方案。我将返回类型更改为HttpResponseMessage并显式设置返回类型:
var resp = new HttpResponseMessage()
{
Content = new StringContent("<Person Name=\"SomeGuy\" />")
};
resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");
return resp;
这意味着返回值将被视为Xml而不是字符串。