[英]Return simple node in C# Rest Service
抱歉,如果已经有人问过这个问题,但我在任何地方都找不到解决方案。 我有一个用 C# 开发的 Rest 服务。
现在,我有一个资源,合同看起来像这样
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/tests)]
Test TestGet();
我正在从现有的迁移,所以我必须返回与当前存在的完全相同的 XML。 像这样的事情:
<?xml version="1.0"?>
<test>OK</test>
我想返回一个对象或字符串,但将结果保留为 XML 结果而不是原始结果。 我怎么能这样做? 如果我返回一个字符串,我会得到这个结果:
<?xml version="1.0"?>
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">KO</string>
如果我返回这个对象:
[DataContract]
public class Test
{
[DataMember(Name = "Test")]
public string Result { get; set; }
}
我得到这样的东西:
<?xml version="1.0"?>
<Test xmlns="http://mynamespace">
<Test>OK</Test>
</Test>
我怎样才能以预期的格式返回我的答案? 我必须返回原始文本还是我可以做一些有 XML 作为响应的事情?
感谢那些愿意提供帮助的人。
我刚刚找到了怎么做。 如果有人有同样的问题,答案是:
[DataContract(IsWrapped = false)]
public class Test
{
[DataMember(Name = "Test")]
public string Result { get; set; }
}
IsWrapped 属性将阻止包装正文。 现在我知道这很明显,但我花了很多时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.