web.config文件自定义配置节的使用方法的一个简单例子

王朝mssql·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

web.config文件自定义配置节的使用方法的一个简单例子

web.config文件自定义配置节的使用方法的一个简单例子 web.config文件自定义配置节的使用方法的一个简单例子用来演示的程序名为MyApp,Namespace也是MyApp

1。编辑web.config文件

添加以下内容,声明一个Section

<configSections>

<section name="AppConfig" type="MyApp.AppConfig, MyApp" />

</configSections>

声明了一个叫AppConfig的Section

2。编辑web.config文件

添加以下内容,加入一个Section

<AppConfig>

<add key="ConnectionString" value="this is a ConnectionString" />

<add key="UserCount" value="199" />

</AppConfig>

这个Section包括两个 Key

3。从IConfigurationSectionHandler派生一个类,AppConfig

实现Create方法,代码如下

public class AppConfig : IConfigurationSectionHandler

{

static String m_connectionString = String.Empty;

static Int32 m_userCount = 0;

public static String ConnectionString

{

get

{

return m_connectionString;

}

}

public static Int32 UserCount

{

get

{

return m_userCount;

}

}

static String ReadSetting(NameValueCollection nvc, String key, String defaultValue)

{

String theValue = nvc[key];

if(theValue == String.Empty)

return defaultValue;

return theValue;

}

public object Create(object parent, object configContext, XmlNode section)

{

NameValueCollection settings;

try

{

NameValueSectionHandler baseHandler = new NameValueSectionHandler();

settings = (NameValueCollection)baseHandler.Create(parent, configContext, section);

}

catch

{

settings = null;

}

if ( settings != null )

{

m_connectionString = AppConfig.ReadSetting(settings, "ConnectionString", String.Empty);

m_userCount = Convert.ToInt32(AppConfig.ReadSetting(settings, "UserCount", "0"));

}

return settings;

}

}

我们把所有的配置都映射成相应的静态成员变量,并且是写成只读属性,这样程序通过

类似AppConfig.ConnectionString就可以访问,配置文件中的项目了

4。最后还要做一件事情

在Global.asax.cs中的Application_Start中添加以下代码

System.Configuration.ConfigurationSettings.GetConfig("AppConfig");

这样在程序启动后,会读取AppConfig这个Section中的值,系统会调用你自己实现的IConfigurationSectionHandler接口来读取配置

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航