Visual C# 2005 - 如何利用程式碼動態存取設定檔

摘要:Visual C# 2005 - 如何利用程式碼動態存取設定檔

一般而言,常用的設定檔可分為應用程式設定檔以及應用程式組態檔兩種。應用程式設定檔用來動態儲存或擷取應用程式的屬性設定與其他自訂資訊,讓維護用戶端電腦上的應用程式選項和使用者偏好設定變的很容易。而應用程式組態檔儲存在應用程式專案的組態檔 app.config 中,通常包含應用程式特有的設定值,例如:應用程式組件繫結、密碼編譯設定與啟始設定。

Visual C# 本身並沒有提供類似 Visual Basic 中的 My.Setting 類別物件來存取儲存或擷取設定檔內容,因而在此我們將示範如何透過程式碼存取兩種不同的設定檔內容。

程式範例 1

圖表 1

首先,如圖表 1  所示,我們已經將連接字串儲存成一個應用程式設定。現在,我們可以在程式中使用 CH4.Properties.Settings 類別物件來取得此應用程式設定以便連接至資料庫。程式範例 CH4_DemoForm003.cs 示範如何完成此項作業,茲將程式碼列示如下:

using CH4.Properties;
...
Settings MySettings = new Settings();
using (SqlConnection cn = new SqlConnection(MySettings.LocalSQLExpressChtNorthwind))
{
 cn.Open();
...
}

程式範例 2

接下來,先將連接字串應用程式設定儲存在應用程式專案的組態檔 app.config 中,並內含於一對 標記內。以我們先前曾經實際建立過的連接字串應用程式設定 LocalSQLExpressChtNorthwind 而言,將會在組態檔 app.config 中寫入下列資訊:


connectionString="Data Source=(local)SQLExpress;Initial
Catalog=北風貿易;Integrated Security=True"
  />

事實上,不論一個連接字串是利用應用程式設定所建立亦或是自行編寫者,都可以使用 System.Configuration 命名空間中的類別來加以處理並取用之。程式範例 CH4_DemoForm004.cs 刻意以 System.Configuration 命名空間中的 ConnectionStringSettings ConfigurationManager 類別來取得連接字串應用程式設定,而不使用 CH4.Properties.Settings 類別,茲將程式碼列示如下:(注意:您的 Windows 應用程式專案必須加入對 System.Configuration.dll 的參考)

using System.Configuration;
...
ConnectionStringSettings settings =
  ConfigurationManager.ConnectionStrings[
  "CH4.Properties.Settings.LocalSQLExpressChtNorthwind"]
;
if (settings != null)
{
 using (SqlConnection cn = new SqlConnection(settings.ConnectionString))
 {
  cn.Open();
  ...
 }
}