.net1.1中如果需要靈活的操作和讀寫設定檔並不是十分方便,一般都會在專案中封裝一個設定檔管理類別來進行讀寫操作。而在.net2.0中使用ConfigurationManager 和WebConfigurationManager 類別可以很好的管理設定文件,ConfigurationManager類別在System.Configuration中,WebConfigurationManager在System.Web.Configuration中。根據MSDN的解釋,對於Web 應用程式配置,建議使用System.Web.Configuration.WebConfigurationManager 類,而不要使用System.Configuration.ConfigurationManager 類別。
下面我給一個簡單的範例說明如何使用WebConfigurationManager操作設定檔:
//開啟設定檔
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
//取得appSettings節點
AppSettingsSection appSection = (AppSettingsSection)config.GetSection("appSettings");
//在appSettings節點中加入元素
appSection.Settings.Add("addkey1", "key1's value");
appSection.Settings.Add("addkey2", "key2's value");
config.Save();
執行程式碼之後可以看見設定檔中的改變:
<appSettings>
<add key="addkey1" value="key1's value" />
<add key="addkey2" value="key2's value" />
</appSettings>
修改和刪除節點或屬性也非常方便:
//開啟設定檔
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
//取得appSettings節點
AppSettingsSection appSection = (AppSettingsSection)config.GetSection("appSettings");
//刪除appSettings節點中的元素
appSection.Settings.Remove("addkey1");
//修改appSettings節點中的元素
appSection.Settings["addkey2"].Value = "Modify key2's value";
config.Save();
設定檔:
<appSettings>
<add key="addkey2" value="Modify key2's value" />
</appSettings>
參考:http: //msdn2.microsoft.com/en-us/library/ms228060.aspx