如何透過 C# 類別庫讀取 Web.config 或 App.config 的參數設定值
我們經常會需要在應用程式中宣告一些參數,好讓我們的程式在不用重新編譯的情況下隨時變更參數設定值,而這樣的機制老早就內建在 .NET 之中。今天我將分享幾個常見的使用案例與範例程式,教大家如何規劃 C# 類別庫 (Class Library) 的設定檔,以及如何從 ASP.NET 應用程式 ( 包含 Web Form 與 MVC )、主控台應用程式 (Console Appliation) 與 Windows Form 應用程式正確設定 app.config 或 web.config 設定檔,以變更類別庫中參數的預設值。 讀取 web.config 設定檔的 AppSettings 與 ConnectionStrings 參數 如果你的 C# 類別庫 (Class Library) 所讀取的參數來源只有 ASP.NET 應用程式的話,那麼你可以參考以下說明進行設定。 我們先建立兩個預設專案,一個是 ASP.NET MVC 專案 ( WebApplication1 ),另一個是類別庫專案 ( ClassLibrary1 )。 假設我們希望 ClassLibrary1 類別庫專案可以讀取 WebApplication1 專案中 Web.config 裡面的 appSettings 設定值,這裡我們就以 ClientValidationEnabled 參數為例,如下圖示: 接著,如果我們直接引用 System.Configuration 命名空間,你可以從該命名空間下取得 ConfigurationSettings 類別,並透過該類別取用 AppSettings 屬性,這個屬性是一個字典型別,主要就是用來讀取 Web.config 設定檔中的 <appSettings> 參數資料。 不過,你可以發現到上圖第 17 行有個警告訊息,從「錯誤視窗」中可以看到以下錯誤: 警告 1 'System.Configuration.ConfigurationSettings.AppSettings' 已過時 : ' This method is obsolete , it has been replaced by ...