C# 在SOAP中使用泛型词典:它可以序列化,但是否应该序列化?

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

我遇到了一位程序员同事,正在讨论我需要编写的一种方法,在面向对象方面,a
字典是完美的。但是,我对序列化期间转换为的XML大小和结构表示了担忧。因此,我的朋友非常直接地说,我应该使用包含键和值的包装器对象,并返回它们的列表,而不是字典。是否有一些.NET对象不应该通过SOAP序列化,而应该创建更简单的自定义对象?

您需要担心的主要问题是:

  • 不要发送不必要的信息
  • 不要打太多的服务电话
  • 尝试平衡数据大小和调用数量(最好将两者都减少到最小)

    通常,大多数人都避免传递包含复杂逻辑的数据结构,如字典

    序列化列表很好(它将被序列化为IEnumerable)

    不要觉得数据对象必须看起来像实体对象——想想信息包,而不是实体。在客户端接收数据时,应将其转换为实体对象。

    是否可能重复?