[英]Access configuration object (appsettings.json) in library project
我啟動了一個 .net 內核 web api 項目。 我有一個主要項目和許多其他項目(如 DAL、Common 等)的解決方案。
我想在 Common 項目中創建一個 class ,它將在我的不同庫項目之間共享配置設置(appsettings.json)。 那么,如何從 class 訪問 Iconfiguration?
這是一個好方法嗎? 或者我應該在主項目中創建一個 class 以從其他項目獲取配置數據?
一種方法是根據 appsettings.json 文件中的部分/子部分創建配置 Model,在 Startup.cs class 中添加配置部分,然后您可以將配置注入到內置的依賴項注入中任何你需要它的地方。
例如
appsettings.json:
{
"MyConfiguration" : {
"Configuration1" : "1",
}
}
您的配置 model:
public class MyConfiguration
{
public int Configuration1 { get; set; }
}
然后在 ConfigureServices 方法的 StartupClass 中,您必須添加
services.Configure<MyConfiguration>(configuration.GetSection("MyConfiguration"));
services.AddOptions();
當您想在代碼中的某處使用該配置時,您只需將其注入構造函數中,如下所示:
public class SomeClass
{
private MyConfiguration MyConfiguration { get; }
public SomeClass(IOptions<MyConfiguration> myConfigurationOptions)
{
MyConfiguration = myConfigurationOptions.Value;
}
//... more code
}
然后就可以訪問了
MyConfiguration.Configuration1
您可以將該文件as a link
添加到您的項目中。
"Add" ->"Existing Item..."
Add As Link
”。請參考此鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.