我的 appsettings.json 檔案中有一些資料庫設定。該系統連接到生產中的不同資料庫,其中有 60 多個。
每個客戶在我們的系統中都有一個內部號碼,他們的資料庫有一個連接字串。
我想要做的是加載這些設定,以便我可以驗證它們在啟動/運行狀況檢查時是否正常作業。我有一個從 ConfigureServices 呼叫的方法。它以 IConfiguration 配置作為引數。
"KommuneConfiguration": {
"localhost": {
"KommuneNumber": "localhost",
"ConnectionString": "Server=H52371;Database=DeliveryReport;Trusted_Connection=True;MultipleActiveResultSets=true",
"TableName": "[DeliveryReport].[dbo].[DeliveryReport]"
},
"000": {
"KommuneNumber": "000",
"ConnectionString": "Server=172.31.112.106;Database=000_XXXX_02_EDW;Trusted_Connection=True;MultipleActiveResultSets=true",
"TableName": "[000_XXXX_02_EDW].[gateway].[DeliveryReport]"
},
"550": {
"KommuneNumber": "550",
"ConnectionString": "Server=172.31.112.106;Database=550_XXXX_02_EDW;Trusted_Connection=True;MultipleActiveResultSets=true",
"TableName": "[550_XXXX_02_EDW].[gateway].[DeliveryReport]"
},
"607": {
"KommuneNumber": "607",
"ConnectionString": "Server=172.31.112.106;Database=607_XXXX_02_EDW;Trusted_Connection=True;MultipleActiveResultSets=true",
"TableName": "[607_XXXX_02_EDW].[gateway].[DeliveryReport]"
}
},
我試過的。
這接縫加載他們鍵入的第一級 IE 但物件值為 null
var serviceClientSettingsConfigKommune = configuration.GetSection("KommuneConfiguration").GetChildren()
.ToDictionary(x => x.Key, x => x.Value);
這只是加載空
var hold = new KommuneSettings();
configuration.GetSection("KommuneConfiguration").Bind(hold);
這與第一個加載鍵的方法相同,但值為空。
var serviceClientSettingsConfigKommune = configuration.GetSection("KommuneConfiguration").Get<Dictionary<string, KommuneConfiguration>>();
這些是我一直在測驗的物件。
public class KommuneConfiguration
{
public string KommuneNumber { get; set; }
public string TableName { get; set; }
public string ConnectionString { get; set; }
}
public class KommuneSettings
{
public Dictionary<string,KommuneConfiguration> Settings { get; set; }
}
uj5u.com熱心網友回復:
試試這個方法——
var serviceClientSettingsConfigKommune = configuration.GetSection("KommuneConfiguration").Get<List<KommuneConfiguration>>();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/371313.html
上一篇:.NETCORELifetime和DI注入的后臺任務
下一篇:.NET核心中的IOC
