[IT168 技术文档]摘要:
大部分ASP.NET应用程序都包含很多个配置信息,比较常见的有连接字符串配置ConnectionString;当我们需要用到Login控件自动发送Email时,我们就要配置Email服务器节点;还有很多如Page节点可以引入程序集和命名空间等等。根据我的经验很多网站的初始化信息(默认设置)很多都会保存在数据库中,也有很多保存在配置文件中,他们各有各的优点。我们可以在web.config中定义我们自己的节点,然后再读取或更新自定义配置文件,当然我们也可以自定义一个配置文件并将其解析读取。本文主要讲的是利用ASP.NET给我提供的一些APIs在Web.config中自定义配置节点。
配置文件中就是XML文件,如果是我们自定义地配置文件可以用DotNet读取XML的方法通过序列化和反序列化等来读取,在以后的版本中还可以通过XLinQ来读取。而在web.config文件中主要可以通过两种方法来读取配置文件,当然首先要做的是在 <!--[if !supportLists]--> 1.定义一个类,实现 <!--[if !supportLists]--> 2.在ASP.NET2.0中我们已经能够很简单的操作配置文件中的节点了,他为我们提供了一系列的类如我们定义一个类只要继承 定义配置类: 为了能够更好的说明,我们先定义一个配置节点<NExplus/>,它有一个属性网站名称webName。有自己的Providers,以及一个States节点,配置如下:
2 <providers>
3 <add name="CommonProvider" type="NExplus.Data.SqlCommonProvider,NExplus.Data" connectionStringName="SqlServer"/>
4 </providers>
5 <states>
6 <add name="厦门" code="0592"/>
7 <add name="福州" code="0591"/>
8 <add name="三明" code="0598"/>
9 </states>
10 </NExplus>
11 读取方法:<configSections>节点中配置关联的操作类及其程序集。System.Configuration.IConfigurationSectionHandler接口,这个方法很简单就是实现一个方法,这里就不再多说了。ConfigurationSection就可以定义我们的节点了,子节点可以继承ConfigurationElement等等。只要在属性上标注ConfigurationProperty attribute即可。
2 {
3 [ConfigurationProperty("webName", DefaultValue="Custom configuration section in web.config ", IsRequired=false)]
4 public string WebName
5 {
6 get
7 {
8 return this["webName"] as string;
9 }
10 }
11 }
12