作业帮 > ASP.NET > 教育资讯

ASP.NET教程:.net2.0中对config文件的操作方法总结

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 07:26:27 ASP.NET
ASP.NET教程:.net2.0中对config文件的操作方法总结
ASP.NET教程:.net2.0中对config文件的操作方法总结ASP.NET
【无忧考网-ASP.NET教程:2.0中对config文件的操作方法总结】:
在编程中,我们经常用到config文件来保存一些常用的应用程序配置信息,在WinForm中这个文件名字是app.config,在asp中叫web.config。这个.config文件其实就是一个xml文件,对它的读操作微软已经提供了一个类来实现了,这个类就是System.Configuration.ConfigurationManager,下面分别是例子:

//读取config里名称为“conn数据库连接信息

connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[conn].ConnectionString;

//读取config里名称为Font_Size的应用程序配置信息

System.Configuration.ConfigurationManager.AppSettings[Font-Size] = 9;

不过利用这个类却不能对config文件进行写操作。对于config文件的写操作,很多人通过xml的方式来进行,按照xml的方式进行写操作在WinForm下虽然繁琐点,但是毕竟能完成。以下是按照xml文件进行写的例子。

#region 保存配置

XmlDocument document = LoadXml();

XmlNode root = document.DocumentElement;

XmlNodeList nodeList = root.FirstChild.ChildNodes;

for (int i = 0; i nodeList.Count; i++)

{

string key = nodeList[i].Attributes[key].Value;

if (key == FilterOption)

{

nodeList[i].Attributes[value].Value = ((int)container.FilterOption).ToString();

}

}

document.Save(configPath);

#endregion

本文提供了另外一种方式,利用2.0类库里面的Configuration来进行写操作。详细介绍请看下面的详细介绍。

Configuration 是允许进行编程以配置文件的类。对于WebForm的config文件,可以用如下代码得到Configuration类的实例:

Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath);

对于WinForm的config文件,可以用如下代码得到Configuration类的实例:

Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(configPath);

需要注意的是,对文件进行写操作之后,需要调用Save()方法保存结果。整个程序的源代码如下,并附有详细代码注释。

using System;

using System.Configuration;

using System.Web;

using System.Windows.Forms;

namespace NetSkycn.Common

{

/// summary

/// 说明:Config文件类型枚举,

/// 分别为asp网站的config文件和WinForm的config文件

/// 周公

/// 日期:2008-08-23

/// 首发地址:http://blog.csdn/zhoufoxcn/archive/2008/08/24/2823508.aspx

/// /summary

public enum ConfigType

{

/// summary

/// asp网站的config文件

/// /summary

WebConfig = 1,

/// summary

/// Windows应用程序的config文件

/// /summary

ExeConfig = 2

}

/// summary

/// 说明:本类主要负责对程序配置文件(.config)进行修改的类,

/// 可以对网站和应用程序的配置文件进行修改

/// 周公

/// 日期:2008-08-23

/// 首发地址:http://blog.csdn/zhoufoxcn/archive/2008/08/24/2823508.aspx

/// /summary

public class ConfigurationOperator

{

private Configuration config;

private string configPath;

private ConfigType configType;

/// summary

/// 对应的配置文件

/// /summary

public Configuration Configuration

{

get { return config; }

set { config = value; }

}

/// summary

/// 构造函数

/// /summary

/// param name=configType.config文件的类型,只能是网站配置文件或者应用程序配置文件/param

public ConfigurationOperator(ConfigType configType)

{

this.configType = configType;

if (configType == ConfigType.ExeConfig)

{

configPath = Application.ExecutablePath; //AppDomain.CurrentDomain.BaseDirectory;

}

else

{

configPath = HttpContext.Current.Request.ApplicationPath;

}

Initialize();

}

/// summary

/// 构造函数

/// /summary

/// param name=path.config文件的位置/param

/// param name=type.config文件的类型,只能是网站配置文件或者应用程序配置文件/param

public ConfigurationOperator(string configPath, ConfigType configType)

{

this.configPath = configPath;

this.configType = configType;

Initialize();

}

//实例化configuration,根据配置文件类型的不同,分别采取了不同的实例化方法

private void Initialize()

{

//如果是WinForm应用程序的配置文件

if (configType == ConfigType.ExeConfig)

{

config = System.Configuration.ConfigurationManager.OpenExeConfiguration(configPath);

}

else//WebForm的配置文件

{

config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath);

}

}

/// summary

/// 添加应用程序配置节点,如果已经存在此节点,则会修改该节点的值

/// /summary

/// param name=key节点名称/param

/// param name=value节点值/param

public void AddAppSetting(string key, string value)

ASP.NET