1.appsettings.json配置文件中配置數據
{
"UserName": "Admin"
}
2.Startup文件Configure方法中添加以下配置(熱更新主要使用的ChangeToken.OnChange方法通知設置的回調方法來達到及時更新)
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
IConfigurationRoot configurationRoot;
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
configurationRoot = new ConfigurationBuilder().AddJsonFile("appsettings.Development.json", true, true).Build();
}
else
{
configurationRoot = new ConfigurationBuilder().AddJsonFile("appsettings.json", true, true).Build();
}
//string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
//獲取配置
GetAppSettingsModel(configurationRoot.Get<AppSettingsModel>());
//配置文件更新後回調更新方法
ChangeToken.OnChange(() => configurationRoot.GetReloadToken(), () =>
{
GetAppSettingsModel(configurationRoot.Get<AppSettingsModel>());
});
}
public void GetAppSettingsModel(AppSettingsModel appSettings)
{
AppSettingsConfig.UserName = appSettings.UserName;
Console.WriteLine($"UserName:{ appSettings.UserName}");
}
//配置文件實體模型
public class AppSettingsModel
{
public string UserName { get; set; }
}
//配置文件數據
public class AppSettingsConfig
{
public static string UserName { get; set; }
}