ASP.NET Core配置如何为?

摘要:[TOC] .NET Core 定义配置的方式不同于之前 NET 版本,之前是依赖于 System.Configuration 的 app.config 和 XML 配置文件 web.config。 新的配置系统更加轻量级,并且具有更好的扩
目录以键-值对的形式读取配置多环境配置读取结构化的配置数据参考 .NET Core 定义配置的方式不同于之前 NET 版本,之前是依赖于 System.Configuration 的 app.config 和 XML 配置文件 web.config。 新的配置系统更加轻量级,并且具有更好的扩展性,其最大的特点就是支持多样化的数据源。我们可以采用文件格式(INI、JSON 或 XML),也可以使用内存的变量作为配置的数据源,或直接配置定义在持久化的文件甚至数据库中。 以键-值对的形式读取配置 新建一个 ASP .NET Core Web 应用程序,修改appsettings.json为: { "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*", "option1": "value1_from_json", "option2": 2, "subsection": { "suboption1": "subvalue1_from_json", "suboption2": "subvalue2_from_json" }, "wizards": [ { "Name": "Gandalf", "Age": "1000" }, { "Name": "Harry", "Age": "17" } ], "EnvConfig": "Production" } 在ConfigureServices方法里面添加如下测试代码: //直接访问,节点由冒号(:)分隔 var option1 = Configuration["option1"]; var suboption1 = Configuration["subsection:suboption1"]; var wizards_0 = Configuration["wizards:0:Name"]; Console.WriteLine($"option1: {option1}"); Console.WriteLine($"subsection:suboption1: {suboption1}"); Console.WriteLine($"wizards:0:Name: {wizards_0}"); 查看输出: TestConfigration> option1: value1_from_json TestConfigration> subsection:suboption1: subvalue1_from_json TestConfigration> wizards:0:Name: Gandalf 多环境配置 修改更改appsettings.Development.json为: { "Logging": { "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } }, "EnvConfig": "Development" } 注意EnvConfig的配置值为Development。
阅读全文