南宁网站定制,漳州项目工程交易中心网,深圳设计培训机构,几何背景生成网站背景ASP.NET Core 提供了一个灵活可扩展,基于键值的配置系统. 但是配置系统独立于ASP.NET Core是Microsoft.Extensions 类库的部分. 它可以用于任何类型的应用程序。1、以键-值对的形式读取配置appsettings.json 文件#xff1a;{Position: {Title: {Position: {Title: 编辑器,Name: Joe Smith},MyKey: My appsettings.json Value,Logging: {LogLevel: {Default: Information,Microsoft: Warning,Microsoft.Hosting.Lifetime: Information}},AllowedHosts: *
}
在ConfigureServices方法里面添加如下测试代码 var myKeyValue Configuration[MyKey];var title Configuration[Position:Title];var name Configuration[Position:Name];var defaultLogLevel Configuration[Logging:LogLevel:Default];
2、多环境配置使用默认配置EnvironmentVariablesConfigurationProvider 会在读取 appsettings.json、appsettings.Environment.json 和机密管理器后从环境变量键值对加载配置 。 因此从环境中读取的键值会替代从 appsettings.json、appsettings.Environment.json 和机密管理器中读取的值 。在 launchSettings.json 中设置的环境变量在 launchSettings.json 中设置的环境变量将替代在系统环境中设置的变量。3、读取结构化的配置数据添加一个类 TestSubSectionConfig 对应于配置文件中的 subp 节点public class TestSubSectionConfig{public string SubOption1 { get; set; }public string SubOption2 { get; set; }}
在ConfigureServices方法里面添加如下测试代码//使用GetSection解析配置文件的节
var subpOptions Configuration.GetSection(subp).GetTestSubSectionConfig();
var suboption2 subpOptions.SubOption2;Console.WriteLine($subp:suboption2: {suboption2});
如果需要在Controller里面使用可以通过依赖注入的方式在ConfigureServices里面注册配置项。public void ConfigureServices(IServiceCollection services)
{//注册配置到服务容器services.ConfigureTestSubSectionConfig(Configuration.GetSection(subp));//var subpOptions Configuration.GetSection(subp).GetTestSubSectionConfig();//services.ConfigureTestSubSectionConfig(options //{// options.SubOption1 subpOptions[suboption1];// options.SubOption2 subpOptions[suboption2];// });}
public class HomeController : Controller
{private TestSubSectionConfig _subSectionConfig;private ILoggerHomeController _logger; public HomeController(IOptionsTestSubSectionConfig option, ILoggerHomeController logger){_subSectionConfig option.Value;_logger logger;}public IActionResult Index(){_logger.LogInformation($SubOption1: {_subSectionConfig.SubOption1});_logger.LogInformation($SubOption2: {_subSectionConfig.SubOption2});return View();}
}