ASP.NET序列化
来源:互联网 发布:中国导弹水平 知乎 编辑:程序博客网 时间:2024/04/30 22:44
在ASP.NET中,存储信息数据一般有以下三种方式做为选择:
一、存储到 Session 中;
二、存储到 Cookie 中;
三、存储到 数据库 中。
同时,序列化的作用也是这样,不过我认为序列化这种方法更安全,更合理。那么,
序列化是什么:
序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。
序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。
序列化有什么特点:
如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。
什么时候使用序列化:
一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。
二:对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。
将对象(比如Person对象)转换为二进制数据(字节流)
1)对象序列化,只能针对对象的字段进行序列化。【方法不被序列化,接口即不可以】
2反序列化:将二进制数据还原为对象。
3为什么要进行对象序列化??:将一个复杂的对象转换流,方便我们的存储与信息交换【可以存储或是发送】。对象是稍纵即逝的,不仅程序重启、操作系统重启会造成对象的消失,就是退出函数范围等都可能造成对象的消失,序列化/反序列化就是为了保持对象的持久化。就像用DV录像(序列化)和用播放器播放(反序列化)一样。
4不是所有对象都能序列化,只有可序列化的对象才能序列化,在类声明上添加[Serializable],对象的属性、字段的类型也必须可序列化
5关于二进制序列化需要注意的事项:
1.要序列化的类型必须标记为:[Serializable]
2.该类型的父类也必须标记为: [Serializable]
3.该类型中的所有成员的类型也必须标记为: [Serializable]
4.序列化只会对类中的字段序列化。【只能序列化一些状态信息】
6 序列化的步骤:
1.创建一个二进制序列化器:
BinaryFormatterbf=…..;
1.5:创建一个文件流。
2.bf.Serialize(stream,对象);
7反序列化的步骤
1.创建一个二进制序列化器:
BinaryFormatterbf;
2.创建文件流:
3.执行反序列化:
object obj=bf.Deserialize(stream);
举例:
- asp.net 序列化
- ASP.NET序列化
- ASP.NET 序列化
- asp.net 序列化方法
- asp.net 对象序列化
- ASP.NET之:序列化
- ASP.NET中的序列化
- asp.net Json序列化
- Asp.net Json序列化
- asp.net Json序列化
- Asp.net 序列化应用实例
- asp.net xml读取及序列化
- asp.net ajax 序列化出错
- "序列化" Serializable 理解 (asp.net C#)
- "序列化" Serializable 理解 (asp.net C#)
- 序列化Serializable(asp.net C#)
- ASP.net中用JSON序列化对象
- ASP.net中用JSON序列化对象
- 某大型银行深化系统之十六:性能设计之一
- datatable怎么添加列
- Unity 如何找到游戏对象并改变其颜色
- 通过ResourceBoudle获取配置文件信息
- 存储过程的命名规范
- ASP.NET序列化
- js读取解析JSON类型数据
- SQL 根据一个表更新另一个表的字段
- AIX 中以并发模式挂载VG
- 统计字符串中各个字符的个数
- 今天在CSDN新开了个博客专栏,欢迎有兴趣的人一起在这里讨论
- 黑马程序员-关键字、常量变量和运算符等
- 老鸟的Python入门教程
- json 转换问module