RESTful WCF Web服务XML返回标准

3
我创建了一个RESTful的WCF web服务。无论返回内容是XML、JSON、纯文本等,它们都会自动地被包含在一个根XML元素中: <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">.....content.....</string>
这是否是标准行为?是否有设置可以关闭此功能?
1个回答

5
如果你返回的字符串是XML格式,就不能直接返回原始字符串,否则你可能得不到有效的XML,所以这是标准行为(默认响应是DataContractSerializer将序列化结果)。
如果你不想要包装数据,你可以转到原始模式,通过返回一个流来实现(更多细节请参见http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspx)。如果你仍然想返回CLR类型,但是想控制序列化格式,你可以创建一个数据合同来使用,或者创建一个带有XML序列化属性(XmlElementAttribute, XmlTextAttribute, XmlAttributeAttribute等)的类型,并在操作(或契约本身)上标记XmlSerializerFormatAttribute

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接