web.config C#中使用自定义配置
来源:互联网 发布:形容胖 网络语 编辑:程序博客网 时间:2024/06/14 08:12
先来看一个常见的配置文件模板:
<configSections> //配置节声明区域,包含配置节和命名空间声明
<section> //配置节声明
<sectionGroup/> //定义配置节组
</section> //配置节组中的配置节声明
</configSections>
<appSettings/> //预定义配置节
<Custom element for configuration section> //配置节设置区域
</configuration>
自定义配置可分为:自定义配置节和自定义配置节组。
1. 自定义配置节
要使用自定义配置需要修改两处地方,一是在<configSections/>中声明配置节,二是在<Custom element for configuration section>处设置配置节的具体配置。
声明配置节语法:
<section>:声明新配置节
name:自定义配置节的名称
type:自定义配置节的类型,主要包括System.Configuration.SingleTagSectionHandler、System.Configuration.DictionarySectionHandler、System.Configuration.NameValueSectionHandler。
SingleTagSectionHandler 配置节返回类型为 Systems.Collections.IDictionary
DictionarySectionHandler 配置节返回类型为 Systems.Collections.IDictionary
NameValueSectionHandler 配置节返回类型为 Systems.Collections.Specialized.NameValueCollection
下面是一个完整的自定义配置节示例代码:
<configuration>
<configSections>
<section name="UrlString" type="System.Configuration.SingleTagSectionHandler"/>
<section name="UrlString2" type="System.Configuration.DictionarySectionHandler"/>
</configSections>
<UrlString action="add" paramString="id=1"></UrlString>
<UrlString2>
<add key="add" value="id=1"/>
<add key="edit" value="id=2"/>
</UrlString2>
</configuration>
程序中读取配置代码如下:
{
//访问 UrlString 配置节
IDictionary dict = ConfigurationManager.GetSection("UrlString") as IDictionary;
Console.WriteLine(string.Format("{0}?{1}", dict["action"], dict["paramString"]));
//访问 UrlString2 配置节
IDictionary dict2 = ConfigurationManager.GetSection("UrlString2") as IDictionary;
foreach (DictionaryEntry e in dict2)
{
Console.WriteLine(string.Format("{0}?{1}", e.Key, e.Value));
}
Console.Read();
}
2. 自定义配置节组
配置节组是使用<sectionGroup>元素来声明,在配置节组中可以包括多个配置节<section>,如下:
<configuration>
<configSections>
<sectionGroup name="TestGroup">
<section name="Test" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<TestGroup>
<Test>
<add key="Hello" value="World"/>
</Test>
</TestGroup>
</configuration>
下面是访问这个配置节组的代码:
MessageBox.Show(nc.AllKeys[0].ToString()+" "+nc["Hello"]); //输出Hello World
3. 通过 IConfigurationSectionHandler 接口实现自定义配置处理类
IConfigurationSectionHandler 接口原型:
{
Object Create(Object parent, Object configContext, XmlNode section)
}
Create 方法必须可由多个线程同时调用,即要保证线程安全。
示例代码:
{
private string _action;
public string Action
{
get { return _action; }
set { _action = value; }
}
private string _param;
public string Param
{
get { return _param; }
set { _param = value; }
}
#region IConfigurationSectionHandler 成员
public object Create(object parent, object configContext, XmlNode section)
{
Hashtable hashtable = new Hashtable();
foreach (XmlAttribute attribute in section.Attributes)
{
hashtable[attribute.Name] = attribute.Value;
}
return hashtable;
}
#endregion
public static UrlString Create()
{
UrlString us = new UrlString();
Hashtable ht = ConfigurationManager.GetSection("UrlString") as Hashtable;
us.Action = (string)ht["action"];
us.Param = (string)ht["paramString"];
return us;
}
}
- web.config C#中使用自定义配置
- 使用IConfigurationSectionHandler在web.config中增加自定义配置
- 使用IConfigurationSectionHandler在web.config中增加自定义配置
- 使用IConfigurationSectionHandler在web.config中增加自定义配置
- 使用IConfigurationSectionHandler在web.config中增加自定义配置
- Web.config或App.config 中添加自定义配置
- web.config中配置
- 在web.config中创建自定义配置节
- 在Web.config配置文件中自定义配置节点
- 通过继承ConfigurationSection,在web.config中增加自定义配置
- 通过继承ConfigurationSection,在web.config中增加自定义配置
- 在Web.config配置文件中自定义配置节点
- 在Web.config配置文件中自定义配置节点
- 通过继承ConfigurationSection,在web.config中增加自定义配置
- 在C#类库中使用App.config文件自定义配置
- C#访问数据库使用web.config配置连接字串
- 如何在web.config 或者 app.config 文件中配置自定义节点
- 在web.config和app.config文件中增加自定义配置节点
- 获取单选的值
- 多进程多线程访问数据库
- Private virtual networks for Solaris xVM and Zones with Crossbow
- HTML平滑缩放显示图片
- Virtual Switching in Solaris with Crossbow VNICs
- web.config C#中使用自定义配置
- Setting Up NAT on Solaris Using IP Filter
- Web.config详解
- Clone ZFS-based Solaris xVM domain
- 空间设计室
- 求救
- 安装.net时,无法安装 FrontPage 2000 WEB 扩展客户端解决办法
- CSDN英雄大会归来感悟
- 吓人的vector(stl)