C# 读取并修改App.config/web.config文件

应用程序配置文件,对于asp.net是 web.config,对于WINFORM程序是 App.Config(ExeName.exe.config)。

 

配置文件,对于程序本身来说,就是基础和依据,其本质是一个xml文件,对于配置文件的操作,从.NET 2.0 开始,就非常方便了,提供了 System [.Web] .Configuration 这个管理功能的NameSpace,要使用它,需要添加对 System.configuration.dll的引用。

对于WINFORM程序,使用 System.Configuration.ConfigurationManager;

对于ASP.NET 程序, 使用 System.Web.Configuration.WebConfigurationManager;

一、添加app.config
        方法一:手工添加
         要添加这个文件很简单,执行如下操作就可以了:在开发环境中选择“项目”——>“添加新项”——>“XML 文件”,输入xml 文件的名称为 app.config。
        然后就可以如同 web.config 一样,编辑 app.config 文件,以及在应用程序中读、写该配置文件。
        重新编译项目,在应用程序的运行目录下会生成一个 app.config 的副本,名称为:程序名.exe.config。
        方法二:系统自动添加
        假设我们现在要使用 app.config 来动态配置一个 label 的 text 属性,那么,在label的属性窗口中选择如下图的属性进行配置,那么就可以让系统自动添加一个 app.config 的文件,呵呵,很省事的了。

二、编辑和使用app.config
        1、增加自定义的键值
        这个当然是增加<appSettings>标签了。下面给个例子:

<?xml version=”1.0″ encoding=”utf-8″?> 
<configuration>
    <appSettings>
        <add key=”port” value=”5450″ />
        <add key=”Thread” value=”20″ />
    </appSettings>
<configuration>

        在这里我设置了一个叫做 port 和 Thread 的键,用来表示通讯端口和允许的最大线程数。
        根据应用的需要,我们可以添加许多需要动态配置的信息,如数据库连接字符串等。

 

2、编辑系统原有的属性
        在下面的代码中,我配置了系统调试信息,这个东西挺不错的,可以将系统运行时输出的调试信息放置到一个文件。在我们使用 try … catch 的时候,将 catch 到的信息输出给用户并不理想,因为用户看到一大堆的错误信息会感到很头痛,他们只希望知道操作成功还是没有成功。所以,将运行时的错误信息放置到文件是不 错的选择。代码如下:

<?xml version=”1.0″ encoding=”utf-8″?> 
<configuration>
<system.diagnostics>
    <switches>
        <add name=”MagicTraceSwitch” value=”3″ />
    </switches>
    <trace autoflush=”true” indentsize=”4″>
        <listeners>
           <add name=”myListener” type=”System.Diagnostics.TextWriterTraceListener” initializeData=”myListener.log” />
           <remove type=”System.Diagnostics.DefaultTraceListener” /> 
        </listeners>
    </trace>
</system.diagnostics>
</configuration>
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s