获取配置文件中configSections的配置信息

首先要注意的一点是!configSections关联的类型在一个进程内只实例化一次,

1、配置文件Web.config

<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="xinyulou" type="Config.ConfigurationHandler, Config" /> </configSections> <xinyulou> <add name="Region" value = "心雨楼" /> </xinyulou> <system.web> <compilation defaultLanguage="c#" debug="true" /> <customErrors mode="RemoteOnly" /> <authentication mode="Windows" /> <authorization> <allow users="*" /> <!-- <sectionGroup name="xinyulou"> 允许所有用户 --> </authorization> <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /> <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" /> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> </configuration>

2、两个重要的类

using System;using System.Configuration;using System.Collections;using System.Xml;

namespace Config{ public class Configuration { private Hashtable m_MyRegionConfig = new Hashtable(); public Hashtable MyRegionConfig { get {return m_MyRegionConfig;}

} public static Configuration GetConfig() { return (Configuration) ConfigurationSettings.GetConfig("xinyulou"); } internal void LoadValuesFromConfigurationXml(XmlNode node) { foreach (XmlNode child in node.ChildNodes) { m_MyRegionConfig.Add(child.Attributes["name"].Value,child.Attributes["value"].Value); }

}

} internal class ConfigurationHandler : IConfigurationSectionHandler {

public virtual object Create(Object parent, Object context, XmlNode node) { Configuration config = new Configuration(); config.LoadValuesFromConfigurationXml(node); return config; }

}}

3、示例在aspx中用!

private void Page_Load(object sender, System.EventArgs e) { Response.Write(Configuration.GetConfig().MyRegionConfig["Region"].ToString()); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值