Serializable会妨碍性能吗?

时间:2010-10-23 08:45:14

标签: c#

我最近将会话状态更改为使用SQL服务器,然后意识到并非所有实体都可序列化。

现在试图找出整个代码中正在进行会话的实体似乎是一个很大的痛苦,所以我在想为什么不将它们全部序列化?

这会有任何性能影响吗?为什么默认情况下类没有标记为Serializable?

1 个答案:

答案 0 :(得分:5)

添加[Serializable]不会影响效果;只是大多数类不需要可序列化,并且存储内部状态的能力并不总是有意义 - 它只对“实体”或“DTO”对象真正有意义。

要注意的一些事项:确保事件未序列化;然后标记[field: NonSerialized] - 否则您可能会生成比预期更多的数据; p

也; BinaryFormatter可以是...而不是浩繁的。如果您想要更小的数据,我建议您查看(例如)protobuf-net(100%免费),您可以通过ISerializable挂钩 - 它通常显着比{更高效} {1}}。如果您对更多细节感兴趣,请与我们联系。