将类标记为Serializable的缺点

HS.*_*HS. 13 c# asp.net

将类标记为可序列化有什么缺点?

我需要在数据库中保存我的asp.net会话,并且它要求会话中的对象是可序列化的.

合理.

但事实证明,我所要做的就是使用[Serializable]属性装饰该类并且它有效,这意味着.NET已经具有使类可序列化的底层基础结构.那么为什么不能默认呢?

有什么需要标记它?

Jas*_*aty 30

那么为什么不能默认呢?

自动序列化/反序列化可能不足以满足该对象.例如,对象可能包含一个字段,该字段包含本地文件的名称,指向内存的指针,共享数组的索引等.虽然系统通常可以毫无困难地序列化这些原始值,但反序列化很容易导致某些内容那是不可用的.一般来说,系统不可能单独解决这个问题.通过要求您标记该类Serializable,您表明您已考虑这些因素.