天天看點

C#/ASP.NET應用程式配置檔案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;

對于配置檔案内容的讀取,真是太普遍不過了,如果你的程式裡,沒有讀取配置檔案内容的方面,你都不好意思拿出來用

我們以最常見的 AppSettings 小節來作為例子:

假設有如下的配置檔案内容:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <appSettings>

    <add key="y" value="this is Y"/>

  </appSettings>

</configuration>

1. 讀取值:

Asp.Net:   System.Web.Configuration.WebConfigurationManager.AppSettings[“y”];

WinForm:  System.Configuration.ConfigurationManager.AppSettings[“y”];

2. 添加一項

ASP.NET(需要有寫權限):

Configuration config = WebConfigurationManager.OpenWebConfiguration(null);

AppSettingsSection app = config.AppSettings;

app.Settings.Add("x", "this is X");

config.Save(ConfigurationSaveMode.Modified);

WinForm:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

3. 修改一項

Asp.Net

//app.Settings.Add("x", "this is X");

app.Settings["x"].Value = "this is not Y";

WinForm

4. 删除一項

app.Settings.Remove("x");

說明:需要注意的是,代碼所修改的并不是app.config,而是[Application_Name].exe.config這個檔案。其中Application_Name就是你的可執行檔案的檔案名,而[Application_Name].exe.config才是真正起作用的配置檔案。至于app.config,把它了解為是初始化配置檔案比較合适。對于winfom在vs調試下app.config無變化是正常的,bin裡面生成的程式,運作可看到效果。