看网上说序列化 是内存和硬盘数间数据流的写入写出。
公司项目中 数据库连接文件 用到了序列化,XmlSerializer,把数据库的连接参数写道XML里面
然后连接的时候从这里面读
这样写有什么好处呢?
我用streamwriter写到TXT里面也可以呀,为什么要用序列化写道XML中呢
不懂序列化的优点在哪?
哪位有用序列化用的深刻的朋友,用简单的例子说明下?
公司项目中 数据库连接文件 用到了序列化,XmlSerializer,把数据库的连接参数写道XML里面
然后连接的时候从这里面读
这样写有什么好处呢?
我用streamwriter写到TXT里面也可以呀,为什么要用序列化写道XML中呢
不懂序列化的优点在哪?
哪位有用序列化用的深刻的朋友,用简单的例子说明下?
解决方案 »
- C#如何将控件的名称存入一个一维数组中 又如何取出数组中的空间名称
- 微软文档的异步客户端例子bug吗??
- C#记事本的查找功能和替换功能怎样实现?
- 在C#中如何进行内存地址的比较?
- 奇怪问题,访问access,insert语句可以,update语句不行
- 请教vs2005 datagridview 用法 (新增 删除 修改) 谢谢
- 如何通过C#中的SqlConnection.ConnectionString连接网络上的SQL Server数据库?
- 截取字符窜的问题
- 菜鸟级问题!~~~~~~~~~~~~~~~~
- c#的 axWindowsMediaPlayer.URL=mediaURL会引起异常是怎么回事?
- C#如何通过读取数据库权限来动态生成菜单和按钮
- 事物锁死!急啊!
[Serializable]这个作用是什么,是不是表明这个类里面的所有属性是将要序列化的属性
?
在进程下次启动时读取上次保存的对象的信息
在不同的AppDomain或进程之间传递数据
在分布式应用系统中传递数据
XML序列化XmlSerializer
public static void SaveXml(string filePath, object obj, System.Type type)
{
using (System.IO.StreamWriter writer = new System.IO.StreamWriter(filePath))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(type);
xs.Serialize(writer, obj);
writer.Close();
}
}
主要有三个:BinaryFormatter、SoapFormatter、XML序列化
对于不需要序列化的属性,在上面加个[NonSerialized]就行了另外还可以序列化为Json对象,需要引入System.Web.Script.Serialization命名空间使用 JavaScriptSerializer类实现简单的序列化
{
using (System.IO.StreamWriter writer = new System.IO.StreamWriter(filePath))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(type);
xs.Serialize(writer, obj);
writer.Close();
}
}
每一种格式都有自己的利弊,要根据实际情况选择。
至于你公司的方式,当然是为了简单明确,数据库的连接参数写道XML里面然后连接的时候从这里面读。这个文件还可以干别的用。
XML文件的功能很强大,你可以把它当成一个数据库来看。