在SOAP中使用通用字典:它可以被序列化,但应该是吗?

时间:2011-03-31 21:27:08

标签: c# .net xml wcf

我跑进了一个程序员,正在讨论我需要编写的方法,而在OOP方面,a Dictionary<T,U>是完美的。但是,我表达了对在序列化过程中转换为XML的XML大小和结构的担忧。所以我的伙伴,以一种非常直接的方式说,我应该使用包含键和值的包装器对象,并返回它们的列表而不是字典。是否有一些.NET对象不能通过SOAP进行序列化,而应该创建更简单的自定义对象?

1 个答案:

答案 0 :(得分:1)

您需要担心的主要事项是:

  1. 不要发送不必要的信息。
  2. 不要拨打太多服务电话。
  3. 尝试平衡数据大小与呼叫数量(最佳地将这两者降低到最低限度)。

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

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

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