【问题标题】:Class with [Serializable] Attributute [duplicate]具有 [Serializable] 属性的类 [重复]
【发布时间】:2010-09-12 06:34:23
【问题描述】:

可能重复:
Does adding [Serializable] to the class have any performance implications?

这个属性的缺点是什么?我的许多数据对象 (DTO) 都具有此属性,因为我用于将对象存储在 ViewState 中。此属性是否存在任何性能问题?

【问题讨论】:

  • 我不同意,性能只是 querant 感兴趣的一种可能性,因为他们通常会开始询问缺点。

标签: c# serialization viewstate


【解决方案1】:
【解决方案2】:

嗯,这与具有广泛相关问题的 BinaryFormatter 相关联,IMO。尤其重要的是,它非常冗长。不过,就个人而言 - 我尝试 never 使用视图状态。完全没有。

它不会让你的课程变慢等,但我也不认为这是一个好主意。

【讨论】:

    【解决方案3】:

    除了 viewstate 本身的痛苦之外,[Serializable] 属性在不恰当的情况下准确地执行其预期执行的操作时可能会有缺点。

    一种情况是如果一个类需要自定义序列化。假设它可能具有只读成员(最好将成员设为只读,直到他们需要成为其他成员,出于类似的原因,将它们设为私有直到他们需要成为其他成员是一个好主意),然后将需要自定义序列化并且没有它 [Serializable] 做出一个无法实现的承诺。

    另一种情况是成员包含敏感数据。如果您只是将 [Serializable] 放在类上而不自定义序列化,那么虽然它会起作用,但它会泄漏敏感数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-03
      • 2015-08-13
      • 2011-01-03
      • 2018-07-10
      • 1970-01-01
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多