利用.NET的XML序列化解决系统配置问题
2004-06-29 16:53
330 查看
在Web系统开发中,我们经常需要读取和设置一些系统配置项,常见的例如数据库连接字符串、上传路径等等。
在最初的ASP系统中,比较常用的方法是将值保存为Application或Session变量;在Asp.net系统中,目前比较常见的简单方法是把相应的配置项写入Web.Config中,例如
然后在程序中通过如下方式读取
这种方法在系统规模较小复杂度较低的时候也不失为一种简单明了的轻量级方法,不过如果系统较复杂,配置项会较多,同时我们需要按不同模块对配置进行划分,并且还希望能以面向对象方法来对其进行封装,那么如果仍然采用这种过于简化方式就不太合时宜了。
-----------------------------------------------------------------
下面,我讲述一下通过XML类序列化解决系统配置问题的方法。
关于XML类序列化和反序列化(另外一种描述是串行化和并行化)的技术细节,大家可以查看MSDN了解;这里简单讲两句,XML序列化是把一个对象序列化到XML文档的过程,反序列化则是从XML输出中重新创建原始状态的对象。
直观表现就是如下图模式
看了这个图,就很清楚了,通过序列化,可以采用面向对象的方法,非常自然和方便的读取和设置系统配置;.NETFramework承担了对象和XML文件映射工作,我们只需要简单的使用就OK。下面我们讲一下具体内容。
上面图示已经表明,首先需要一个XML配置文件,格式内容如上图,具体配置项可以自行增减。
然后我们需要编写一个类,如上图所示;特殊的一点,为了使类能够实现XML序列化,需要在类的所有属性声明前添加属性信息XmlElement,如下所示。
由于AppConfig类本身没有实现方法,因此我们需要一个配置类AppConfigSetting.cs。类的结构很简单,只需要两个静态方法,Get()获取AppConfig对象,Save()保存AppConfig对象。
另外,我们需要在Web.Config中添加该XML配置文件的地址。
类的使用非常简单,基本方式如下
看到这样的代码,不禁有令人赏心悦目之感;相对于原来的直接读取AppSetting,可谓解脱矣!:)
OK,就此结束了。这篇文章只涉及对象序列化的非常简单的应用,没有涉及太多的技术原理和细节,大家要深入了解请参考MSDN。
希望文章能对大家有所补益和启发。:)
测试源代码工程文件下载(VisualStudio.net2003)
在最初的ASP系统中,比较常用的方法是将值保存为Application或Session变量;在Asp.net系统中,目前比较常见的简单方法是把相应的配置项写入Web.Config中,例如
-----------------------------------------------------------------
下面,我讲述一下通过XML类序列化解决系统配置问题的方法。
关于XML类序列化和反序列化(另外一种描述是串行化和并行化)的技术细节,大家可以查看MSDN了解;这里简单讲两句,XML序列化是把一个对象序列化到XML文档的过程,反序列化则是从XML输出中重新创建原始状态的对象。
直观表现就是如下图模式
看了这个图,就很清楚了,通过序列化,可以采用面向对象的方法,非常自然和方便的读取和设置系统配置;.NETFramework承担了对象和XML文件映射工作,我们只需要简单的使用就OK。下面我们讲一下具体内容。
上面图示已经表明,首先需要一个XML配置文件,格式内容如上图,具体配置项可以自行增减。
然后我们需要编写一个类,如上图所示;特殊的一点,为了使类能够实现XML序列化,需要在类的所有属性声明前添加属性信息XmlElement,如下所示。
另外,我们需要在Web.Config中添加该XML配置文件的地址。
OK,就此结束了。这篇文章只涉及对象序列化的非常简单的应用,没有涉及太多的技术原理和细节,大家要深入了解请参考MSDN。
希望文章能对大家有所补益和启发。:)
相关文章推荐
- 利用.NET的XML序列化解决系统配置问题
- 利用.NET的XML序列化解决系统配置问题
- 利用.NET的XML序列化解决系统配置问题
- 利用.NET的XML序列化解决系统配置问题
- [导入]利用.NET的XML序列化解决系统配置问题
- 利用.NET的XML序列化解决系统配置问题
- 利用替换SAM文件的方式破解XP登陆密码,解决无法登陆系统的问题
- 如何解决 SQL Server 安装程序中的 COM+ 系统配置检查失败问题
- 解决SQL Server 2005 安装程序中的 COM+ 系统配置检查失败问题(http://hi.baidu.com/huqiwen/blog/item/fdd7838b2d6ac9d5fd1f10cc.html)
- SQL Server 2008 R2 系统配置检查器的检查参数和妨碍性问题的解决办法
- 利用java socket 解决系统转接问题
- 如何利用Win7启动修复功能解决电脑启动进不了系统的问题
- 利用proc工具解决系统(solaris)问题
- 利用 .NET 框架简化发布和解决 DLL Hell 问题
- SQL Server 2008 R2 系统配置检查器的检查参数和妨碍性问题的解决办法
- .net发送邮件系统问题解决
- 解决VS2005提示类型初始值设定引发异常或配置系统未能初始化问题
- .net利用程序集的GUID解决程序只能运行一次的问题
- (转载)利用 .NET 框架简化发布和解决 DLL Hell 问题
- Linux系统中配置了java的jdk后显示版本不变问题解决