12

我正在使用 Azure Cache 预览版,需要使一些类可序列化。

使类可序列化有什么缺点 - 例如性能问题?

[Serializable]
public class MyClass {}

我发现很少有相关的问题,但它们与缺点无关。

  1. 所有 .NET 异常都可序列化吗?

  2. 将类标记为可序列化的缺点

预先感谢

4

2 回答 2

9

不,仅仅标记为 没有内在开销[Serializable]。我唯一的问题是,BinaryFormatter并且NetDataContractSerializer是糟糕的序列化程序,并且大多数其他序列化程序对这个标志不感兴趣(好吧,我可能有偏见)

于 2012-10-05T22:14:59.907 回答
5

假设您谈论的是使用Serializable属性的成本而不是实际的序列化过程,一个缺点是第三方通常会假设该类被设计为可序列化的。虽然可能是这种情况,但如果您只是为了它而将其标记为可序列化(并且如果第三方有可能与之交互),那么您可能需要花时间确保该类适合以有效的方式进行序列化。因此,从这个角度来看,这更像是一种资源权衡,而不是技术权衡。

正如 Marc Gravell 所说,从技术角度来看,仅使用该属性不会有任何开销。

于 2012-10-05T22:22:09.320 回答