asp.net 序列化and反序列化演示
所属分类:
网络编程 / ASP.NET
阅读数:
509
收藏 0赞 0分享
什么是序列化?
---.net的运行时环境用来支持用户定义类型的流化的机制。它是将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。
序列化的目的:
1、以某种存储形式使自定义对象持久化;
2、将对象从一个地方传递到另一个地方。
实质上序列化机制是将类的值转化为一个一般的(即连续的)字节流,然后就可以将该流写到磁盘文件或任何其他流化目标上。而要想实际的写出这个流,就要使用那些实现了IFormatter接口的类里的Serialize和Deserialize方法。
private bool SerializeStudent(object obj)
{
FileDialog fd = new SaveFileDialog();
if (fd.ShowDialog() == DialogResult.OK | fd.FileName != null)
{
FileStream fs = new FileStream(fd.FileName, FileMode.Create, FileAccess.Write);
System.Xml.Serialization.XmlSerializer xmlSer = new System.Xml.Serialization.XmlSerializer(obj.GetType());
xmlSer.Serialize(fs, obj);
fs.Close();
return true;
}
else
{
return false;
}
}
private object DeSerializeStudent(object obj)
{
FileDialog fd = new OpenFileDialog();
object objStd;
if (fd.FileName != null | fd.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(fd.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
System.Xml.Serialization.XmlSerializer xmlSer = new System.Xml.Serialization.XmlSerializer(obj.GetType());
objStd = xmlSer.Deserialize(fs);
fs.Close();
return objStd;
}
else
{
return null;
}
}
.NET Core源码解析配置文件及依赖注入
这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等
收藏 0赞 0分享
如何利用FluentMigrator实现数据库迁移
这篇文章主要给大家介绍了关于如何利用FluentMigrator实现数据库迁移的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0赞 0分享
ASP.NET Core利用Jaeger实现分布式追踪详解
这篇文章主要给大家介绍了关于ASP.NET Core利用Jaeger实现分布式追踪的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0赞 0分享
.net 4.5部署到docker容器的完整步骤
这篇文章主要给大家介绍了关于.net 4.5部署到docker容器的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用.net4.5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0赞 0分享
.net core并发下线程安全问题详解
这篇文章主要给大家介绍了关于.net core并发下线程安全问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0赞 0分享
查看更多