具有[Serializable] Attributute的类

时间:2010-09-12 06:34:24

标签: c# serialization viewstate

  

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

这个属性有什么缺点?我的许多数据对象(DTO)都有这个属性,因为我用它来存储ViewState中的对象。这个属性有任何性能问题吗?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

那么,它与BinaryFormatter有关,它具有广泛的相关问题,IMO。尤其是,它非常冗长。但就个人而言 - 我尝试从不使用viewstate。完全没有。

这不会让你的课变慢等等,但我不相信这也是一个好主意。

答案 2 :(得分:0)

除了v​​iewstate本身的痛苦之外,[Serializable]属性在准确地完成它的目的时会有不利之处。

一种情况是一个类需要自定义序列化。或者说它可能只有成员(并且最好让成员只读,直到他们需要不这样做,出于类似的原因,因为在他们需要之前将它们设为私有是一个好主意),然后需要自定义序列化,没有它[Serializable]做出了无法履行的承诺。

另一种情况是成员包含敏感数据。如果您只是在类上放置[Serializable]而没有自定义序列化,那么当它可以工作时,它会泄漏那些敏感数据。