.net core使用配置文件
程序员文章站
2022-04-26 11:33:33
.net core使用配置文件 在 .net core中,配置文件的读取是通过IConfiguration来提供的,程序集是 ,对应的有一系列的实现,通过这些实现,可以读取Json/Xml/ini等类型的配置文件。 在本节示例中,我们使用Json配置文件做演示。 读取Json配置文件 Json是我们 ......
.net core使用配置文件
在 .net core中,配置文件的读取是通过IConfiguration来提供的,程序集是Microsoft.Extensions.Configuration
,对应的有一系列的实现,通过这些实现,可以读取Json/Xml/ini等类型的配置文件。
在本节示例中,我们使用Json配置文件做演示。
读取Json配置文件
Json是我们常用的配置文件格式,可以非常直观的体现配置文件的层级结构。
新建一个 .net core 控制台应用程序,并为项目添加appsettings.json
文件,文件内容如下:
{ "Name": "Jerry", "option1": "value1_from_json", "option2": 2, "subsection": { "suboption1": "subvalue1_from_json" }, "wizards": [ { "Name": "Gandalf", "Age": "1000" }, { "Name": "Harry", "Age": "17" } ] }
添加Microsoft.Extensions.Configuration.Json
引用,随后使用下面的代码创建IConfiguartion对象:
public static IConfiguration Configuration { get; set; } //构建Configuration var builder = new ConfigurationBuilder() .SetBasePath(AppDomain.CurrentDomain.BaseDirectory) .AddJsonFile("appsettings.json"); Configuration = builder.Build();
使用IConfiguartion对象获取配置信息:
static void ReadConfiguration() { Console.WriteLine($"Name = {Configuration["Name"]}"); Console.WriteLine($"option1 = {Configuration["Option1"]}"); Console.WriteLine($"option2 = {Configuration["option2"]}"); Console.WriteLine($"suboption1 = {Configuration["subsection:suboption1"]}"); Console.WriteLine(); Console.WriteLine("Wizards:"); Console.Write($"{Configuration["wizards:0:Name"]}, "); Console.WriteLine($"age {Configuration["wizards:0:Age"]}"); Console.Write($"{Configuration["wizards:1:Name"]}, "); Console.WriteLine($"age {Configuration["wizards:1:Age"]}"); Console.WriteLine(); Console.WriteLine("Press a key..."); Console.ReadKey(); }
使用强类型读取配置信息:
static void ConvertConfiguration() { //读取整个配置文件 var appSettings = Configuration.Get<AppSettings>(); Console.WriteLine("AppSettings = "); Console.WriteLine(JsonConvert.SerializeObject(appSettings, Formatting.Indented)); //读取某个节点 IList<Wizard> wizards = Configuration.GetSection("wizards").Get<IList<Wizard>>(); Console.WriteLine("wizards = "); Console.WriteLine(JsonConvert.SerializeObject(wizards, Formatting.Indented)); Console.WriteLine("Press a key..."); Console.ReadKey(); }
== 注意:在1.0版本中使用Bind方法转换,2.0以后可以使用Get方法更加方便的获取强类型文件 ==
== 注意:当使用多个配置文件,且配置文件中包含相同的键时,后添加的配置文件中的键值将覆盖先添加的键值 ==
其它类型的配置文件使用方法相似,不再赘述。
参考文档:
上一篇: 不买房也没关系,有空出来聊一聊
下一篇: 怎么去除鱼尾纹 去除鱼尾纹的小窍门
推荐阅读
-
ASP.NET MVC中使用jQuery时的浏览器缓存问题详解
-
ASP.NET Core MVC/WebApi基础系列2
-
图析ASP.NET Core引入gRPC服务模板
-
.NET Core Windows环境安装配置教程
-
在Django中同时使用多个配置文件的方法
-
ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)
-
Windows Server 2012 R2 Standard搭建ASP.NET Core环境图文教程
-
win10下ASP.NET Core部署环境搭建步骤
-
.Net Core库类项目跨项目读取配置文件的方法
-
.NET Core之微信支付之公众号、H5支付详解