C# 在SOAP中使用泛型词典:它可以序列化,但是否应该序列化?
我遇到了一位程序员同事,正在讨论我需要编写的一种方法,在面向对象方面,aC# 在SOAP中使用泛型词典:它可以序列化,但是否应该序列化?,c#,.net,xml,wcf,C#,.net,Xml,Wcf,我遇到了一位程序员同事,正在讨论我需要编写的一种方法,在面向对象方面,a字典是完美的。但是,我对序列化期间转换为的XML大小和结构表示了担忧。因此,我的朋友非常直接地说,我应该使用包含键和值的包装器对象,并返回它们的列表,而不是字典。是否有一些.NET对象不应该通过SOAP序列化,而应该创建更简单的自定义对象?您需要担心的主要问题是: 不要发送不必要的信息 不要打太多的服务电话 尝试平衡数据大小和调用数量(最好将两者都减少到最小) 通常,大多数人都避免传递包含复杂逻辑的数据结构,如字典 序列化列
字典是完美的。但是,我对序列化期间转换为的XML大小和结构表示了担忧。因此,我的朋友非常直接地说,我应该使用包含键和值的包装器对象,并返回它们的列表,而不是字典。是否有一些.NET对象不应该通过SOAP序列化,而应该创建更简单的自定义对象?您需要担心的主要问题是:
不要发送不必要的信息
不要打太多的服务电话
尝试平衡数据大小和调用数量(最好将两者都减少到最小)
通常,大多数人都避免传递包含复杂逻辑的数据结构,如字典
序列化列表很好(它将被序列化为IEnumerable)
不要觉得数据对象必须看起来像实体对象——想想信息包,而不是实体。在客户端接收数据时,应将其转换为实体对象。是否可能重复?