我创建了一个RESTful WCF Web服务,返回的内容是XML,JSON,纯文本等是否自动包装在根XML元素中:
这是标准行为吗?还有一个设置,可以关闭它?
如果你以XML格式返回一个字符串,你不能简单地"按原样"返回字符串,否则你可能没有有效的XML,所以是的,这是标准行为(默认响应是DataContractSerializer如何序列化结果).
如果您不想要包装数据,可以通过返回Stream移动到原始模式(更多详细信息,请访问http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw -programming-model-web.aspx).如果你仍想返回一个CLR类型,但你要控制的序列化格式,您可以创建使用数据合同,或创建一个类型的装饰与XML序列化属性(XmlElementAttribute
,XmlTextAttribute
,XmlAttributeAttribute
等)和标记操作(或合同本身)与XmlSerializerFormatAttribute
.