当前位置:编程学习 > C#/ASP.NET >>

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

答案: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());
}



configSections的威力很强大。有很多种用法与应用!这里就不再举例了,有问题可与我联系。或在恢复中提出来!

上一个:公共配置对话框
下一个:在场景中输出横向或纵向压缩的中文字符

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,