.net - RESTful WCF Web 服务 XML 返回标准

标签 .net wcf rest

我创建了一个 RESTful WCF 网络服务,返回的内容(无论是 XML、JSON、纯文本等)都自动包装在根 XML 元素中:

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">.....content.....</string>

这是标准行为吗?还有可以关闭它的设置吗?

最佳答案

如果您要返回 XML 格式的字符串,则不能简单地“按原样”返回字符串,否则您可能没有有效的 XML,所以是的,这是标准行为(默认响应是 DataContractSerializer将序列化结果)。

如果您不想要包装的数据,您可以通过返回 Stream 进入原始模式(更多详细信息,请参见 http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspx)。如果你仍然想返回一个 CLR 类型,但你想控制序列化格式,你可以创建一个数据协定来使用,或者创建一个用 XML 序列化属性修饰的类型(XmlElementAttributeXmlTextAttributeXmlAttributeAttribute 等)并使用 XmlSerializerFormatAttribute 标记操作(或协定本身)。

关于.net - RESTful WCF Web 服务 XML 返回标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085678/

相关文章:

c# - 如何将流中的图像另存为在 retrofit2 中发送到 wcf web 服务

java - 从客户端将文件作为参数发送到 REST 服务?

c# - 日期时间与日期时间偏移

c# - C# .NET 位图的最大分辨率是多少?

c# - WCF:读取 XML 数据时已超出最大数组长度配额 (16384)

c# - 异步任务等待

.net - MsmqIntegrationBinding 与 NetMsmqBinding

c# - 当我 Assembly.Load 肯定存在的程序集时,为什么会出现 FileNotFoundException?

java - 获取端点的指标

java - REST - 当我使用 GET 时 SparkJava 不更新对象 JSON