c# - 作为 Web 服务结果的大型复杂对象

标签 c# asp.net xml web-services serialization

<分区>

女士们先生们大家好!

好的,继续我关于 ASP.NET Web Service Results, Proxy Classes and Type Conversion 的其他问题.我参与了项目中的一部分,我需要集中精力。

基本上,我们有一个大型、复杂的自定义对象,需要从 Web 服务返回并在客户端应用程序中使用。

现在,根据前面的讨论,我们知道这将采用代理类的形式作为返回类型。为了克服这个问题,我们基本上需要将属性从一个复制到另一个。

在这种情况下,这是我真的、真的、真的!想要避免的事情!

所以,这让我开始思考,我们还能如何做到这一点?

我目前的想法是使对象能够完全序列化为 XML,然后将 XML 作为字符串从 Web 服务返回。然后我们在客户端反序列化。这将意味着相当多的属性修饰,但至少两个端点的代码都将是轻量级的,即仅使用 .NET XML 序列化程序。

您对此有何看法?

最佳答案

.Net XML(反)序列化实现得非常好。乍一看,我认为这根本不是个坏主意。

如果这两个应用程序导入相同的 C# 类定义,那么这是一种免费获得复制构造函数行为的相对不错的方法。如果类结构发生变化,那么当双方都获得新的类定义时一切都会正常进行,而无需在 Web 服务消费/构建端进行任何额外的更改。

编码和解码 XML 的开销很小,但这可能与远程 Web 服务调用的开销相比相形见绌。 .Net XML 序列化为大多数程序员所熟知,应该会产生易于维护的解决方案。

关于c# - 作为 Web 服务结果的大型复杂对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17725/

相关文章:

c# - 如何在控制台程序中接收参数?

asp.net - 离婚 ASP.NET & SQL SERVER 你建议什么替代方案?

java - SAX:如何获取元素的内容

javascript - 如何在mvc中从旧链接重定向到新链接

具有构建功能和源代码控制的 Asp.net 托管提供商

python - 覆盖 XML 文件

java - 以编程方式从表示 xsd 架构的字符串创建 java 类

c# - 是因为 CLR 或 GetHashCode() 方法的字符串池吗?

c# - 创建文本文件并下载

c# - PagesIndex - 对象引用未设置为对象的实例