.NET Core 目前大多都是透過相依性注入(Dependency Injection)的方式來有效管理程式碼,方便大家在program.cs中先建置.NET Core 程式專案的一些基本設置,像是相依性插入 (DI)、設定、中介軟體等,當專案一啟動時就被建置或設定。
通常大家會習慣將一些資訊記錄有appsetting.json檔中,像是資料庫的連線,.NET Core初期仍需要安裝Microsoft.Extensions.Configuration 套件,來取得appsetting.json內容,以 .NET Core 6 為例,後期的.NET Core已經內建Configuration。
目前遇到的例子是,早期自行撰寫的共用物件(DBUtil)已經在各程式中被廣泛引用,目前先不打算異動原來的程式碼,原因是如果一改的話,所有有呼叫到的程式都要修改,所以我們並非透過相依性注入(Dependency Injection),而是透過中介的靜態類別,像建立一個Single Object 。
作法:在program.cs中先設置好Configuration並取得appsetting.json的資料庫連結資訊,再把Configuration傳遞到手動新增的靜態類別ConfigurationHelper中,最後在共用物件(DBUtil)的建構子中來取得Configuration。
1.先新增一個靜態類別叫ConfigurationHelper