asp.net 序列化and反序列化演示

 更新时间:2008年10月28日 13:56:45   作者:  
实质上序列化机制是将类的值转化为一个一般的(即连续的)字节流,然后就可以将该流写到磁盘文件或任何其他流化目标上。而要想实际的写出这个流,就要使用那些实现了IFormatter接口的类里的Serialize和Deserialize方法。
什么是序列化?
---.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;
}

}

相关文章

  • ASP.NET Core Web API之Token验证的实现

    ASP.NET Core Web API之Token验证的实现

    本文主要介绍了ASP.NET Core Web API之Token验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Ajax+asp.net智能匹配检索(含图含完整代码)

    Ajax+asp.net智能匹配检索(含图含完整代码)

    使用谷歌搜索引擎的用户都知道,只要在文本框中输入部分关键字,就能显示相关搜索提示信息列表
    2012-06-06
  • .net6环境下使用RestSharp请求GBK编码网页乱码的解决方案

    .net6环境下使用RestSharp请求GBK编码网页乱码的解决方案

    这篇文章介绍了.net6环境下使用RestSharp请求GBK编码网页乱码的解决方案,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • aspx超强木马查杀与防范(web网马)

    aspx超强木马查杀与防范(web网马)

    下面代码是一个aspx超强木马,功能很多,大家在服务器上见到一定要小心
    2013-12-12
  • asp.NET 脏字过滤算法

    asp.NET 脏字过滤算法

    asp.NET 脏字过滤算法,需要参考上一篇文章,大家可以比较下。
    2009-10-10
  • asp.net实现在非MVC中使用Razor模板引擎的方法

    asp.net实现在非MVC中使用Razor模板引擎的方法

    这篇文章主要介绍了asp.net实现在非MVC中使用Razor模板引擎的方法,较为详细的分析了Razor模板引擎的使用技巧,需要的朋友可以参考下
    2015-06-06
  • asp.net程序优化 尽量减少数据库连接操作

    asp.net程序优化 尽量减少数据库连接操作

    最近做一个项目,做的比较郁闷,现在把项目经验总结在这里。项目的主要功能就是为第三方程序提供数据,并根据客户端的调用提供数据更新。我的程序属于服务端。服务端以站点形式部署,以Xml的数据格式输出
    2012-05-05
  • ASP.NET MVC+EF框架+EasyUI实现权限管系列

    ASP.NET MVC+EF框架+EasyUI实现权限管系列

    在学习MVC之前,我们有必要知道这些知识点(自动属性,隐式类型var,对象初始化器和集合初始化器,匿名类,扩展方法,Lambda表达式),如果你还不知道的话就请看我下面的简单的介绍,看下面我建立的项目的初步图像,然后下篇我们开始简单的介绍。
    2014-11-11
  • asp.net core配置文件加载过程的深入了解

    asp.net core配置文件加载过程的深入了解

    这篇文章主要给大家介绍了关于asp.net core配置文件加载过程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2018-12-12
  • ASP.NET Core Middleware的实现方法详解

    ASP.NET Core Middleware的实现方法详解

    中间件是组装到应用程序管道中以处理请求和响应的软件。下面这篇文章主要给大家介绍了关于ASP.NET Core Middleware实现的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2019-01-01

最新评论