ASP.NET Core注入とAppSettings構成の取得
ASP.NET Coreプロジェクトには
実現方式はASPを利用することである.NET Core DIは,構成情報をIoCに注入し,コンストラクション関数により注入されたオブジェクトを取得する.
appsettings.json
のプロファイルがあり、データベース接続文字列などの構成情報を格納しているが、アクセスするとASP.NET Coreプロジェクトで取得しますが、他のプロジェクトクラスライブラリではどのように取得すればいいですか?実現方式はASPを利用することである.NET Core DIは,構成情報をIoCに注入し,コンストラクション関数により注入されたオブジェクトを取得する.
appsettings.json
サンプルコード:{
"AppSettings": {
"AccessKey": "111111",
"SecretKey": "22222",
"Bucket": "3333333",
"Domain": "http://wwww.domain.com"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Error",
"System": "Information",
"Microsoft": "Information"
}
}
}
AppSettings
オブジェクトコードに対応:public class AppSettings
{
public string AccessKey { get; set; }
public string SecretKey { get; set; }
public string Bucket { get; set; }
public string Domain { get; set; }
}
ConfigureServices
構成コードの追加:public void ConfigureServices(IServiceCollection services)
{
var appSettings = Configuration.GetSection("AppSettings");
services.Configure(appSettings);
services.AddTransient();
// Add framework services.
services.AddMvc();
}
UpoladService
は、コンストラクション関数によって注入対象を取得する.public class UpoladService : IUpoladService
{
private AppSettings _appSettings;
public UpoladService(IOptionsMonitor appSettings)
{
_appSettings = appSettings.CurrentValue; //IOptions ,IOptionsMonitor , 。
}
}