- 一个类可以串行化(Serialize),以实现对象保存和恢复。比如,如果要将对象保存在Session State当中,就应该使用串行化。
- 对于一个类,使用属性[Serializable]。这样,这个类就可以实现串行化了。
- 串行的数据是类成员(fields),不包括函数和使用{set;get;}定义的数据。
- 当你声明了[Serializable]属性,C#会自动串行化,同时,也会带来问题。
- 如果类成员有对象,则那个对象也要实现串行化,一直递推,有时会很庞大。
- 如果对象有中间和临时数据,尤其很庞大时,串行这些数据将会耗费许多资源和时间。
- 为了避免以上问题,C#定义了
[NonSerialized]属性,用来标明不用串行化的数据。 C#还可以让你客户化串行方法,利用ISerializable接口,可以自己实现GetObjectData()函数来串行数据。
现在,有了JavaScriptSerializer类,一切都变了!如此简单。
|