.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
ASP.NET Core 利用靜態類別的方法來存取Confi

2. 在Program.cs中,完成Configuration的設置(例如取得appsetting.json內的資料庫連線資料),接下來再把Configuration傳遞到剛剛建立的ConfigurationHelper靜態類別中。

ASP.NET Core 利用靜態類別的方法來存取Confi

3. 最後在我們自已的公用程式物件,在建構子來取得靜態類別ConfigurationHelper來取得需要的內容,透過Configuration.GetConnectionString的方式來存取appsettings.json的連線資訊。
ASP.NET Core 利用靜態類別的方法來存取Confi

 

 

arrow
arrow
    創作者介紹
    創作者 湯瑪的吳 的頭像
    湯瑪的吳

    安達利機車行

    湯瑪的吳 發表在 痞客邦 留言(0) 人氣()