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的引用。

 

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

假設有如下的配置文件內容:

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

<configuration>

  <appSettings>

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

  </appSettings>

</configuration>

 

一、ASP.NET

 

1.命名空間

  對於ASP.NET 程序, 使用 System.Web.Configuration.WebConfigurationManager;

2.讀取

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

3.添加

需要有寫權限:

  

Configuration config = WebConfigurationManager.OpenWebConfiguration(null); 

AppSettingsSection app = config.AppSettings; 

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

config.Save(ConfigurationSaveMode.Modified);

 

4.修改

Configuration config = WebConfigurationManager.OpenWebConfiguration(null); 

AppSettingsSection app = config.AppSettings; //app.Settings.Add("x", "this is X"); 

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

config.Save(ConfigurationSaveMode.Modified);

 

5.刪除

Configuration config = WebConfigurationManager.OpenWebConfiguration(null); 

AppSettingsSection app = config.AppSettings;

app.Settings.Remove("x");

config.Save(ConfigurationSaveMode.Modified);

 

.

二、WINFORM / CONSOLE

 

1.命名空間

  對於WINFORM程序,使用 System.Configuration.ConfigurationManager;

2.讀取

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

3.添加

 

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

AppSettingsSection app = config.AppSettings; 

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

config.Save(ConfigurationSaveMode.Modified);

 

4.修改

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

AppSettingsSection app = config.AppSettings; //app.Settings.Add("x", "this is X"); 

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

config.Save(ConfigurationSaveMode.Modified);

ConfigurationManager.RefreshSection("appSettings");// 刷新命名節,在下次檢索它時將從磁盤重新讀取它。記住應用程序要刷新節點

 

PS: 修改后,App.config文件的x節點沒有更改,而是exe.config的配置更改,讀取正常

 

 

5.刪除

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

AppSettingsSection app = config.AppSettings; 

app.Settings.Remove("x"); 

config.Save(ConfigurationSaveMode.Modified);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM