问题
如何在 ASP.NET Core 2.0 应用程序中读取全局配置项?
答案
首先新建一个空项目,并添加两个配置文件:
1. appsettings.json
{ "Section1": { "SettingA": "ValueA", "SettingB": "ValueB" }, "Section2": { "SettingC": "ValueC" }}
2. appsettings.Development.json
{ "Section1": { "SettingA": "Dev_ValueA" }, "Section2": { "SettingC": "Dev_ValueC" }}
Visual Studio会自动识别两者的关系,并在解决方案层次结构中展示如下:
然后创建相应的POCO类,分别对应于几个配置节点:
public class AppSettings{
public AppSettingsSection1 Section1 { get; set; } public AppSettingsSection2 Section2 { get; set; }}
public class AppSettingsSection1{
public string SettingA { get; set; }
public string SettingB { get; set; }}
public class AppSettingsSection2{
public string SettingC { get; set; }}
在Startup.cs文件中,创建接收 IConfiguration 的构造函数:
public static IConfiguration Configuration { get;
private set;}
public Startup(IConfiguration config){ Configuration = config;}
然后在 ConfigureServices() 方法中添加Options服务,并设置依赖项:
public void C