4、ASP.Net Core2.0之配置文件的读取

一、配置文件(appsettings.json)文件添加

        在ASP.Net Core2.0中没有像webform这样的webcofig文件夹,而它的配置文件放在appsettings.json中的json文件中。通过如下操作可以新增配置文件。

右击项目→添加→类,弹出如下界面,进行添加配置文件。4、ASP.Net Core2.0之配置文件的读取_第1张图片

新增成功后的appsettings.json文件里面默认有数据库连接字符串,内容截图如下:

二、Appsettings.json文件的读取

           Appsettings文件的读取有多种方式,下面介绍常用的几种。

1、获取数据库连接字符串

        public ActionResult GetConnectionString()
        {
            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();//创建ConfigurationBuilder对象
            //给configurationBuilder对象设置appsettings的路径
            configurationBuilder.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");
            var configuration = configurationBuilder.Build();

            //获取配置文件中指定的字段值
            string connentString = configuration.GetConnectionString("DefaultConnection");

            return Content($"connentString:{connentString}");
        }

运行结果:

2、单个字段的读取

在appsettings.json文件中新增name节点后:

4、ASP.Net Core2.0之配置文件的读取_第2张图片

action中获取值。  

  public ActionResult GetSingle()
        {
            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();//创建ConfigurationBuilder对象
            //给configurationBuilder对象设置appsettings的路径
            configurationBuilder.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");
            var configuration = configurationBuilder.Build();
            //获取单独字段
            string name = configuration.GetValue("name");
            string name1 = configuration["name"];

            return Content($"name:{name},name1:{name1}");
        }

获取单个字段的方式有两种:configuration.GetValue("name")和configuration["name"]都可以实现。

运行结果:
4、ASP.Net Core2.0之配置文件的读取_第3张图片
3、获取数组中的单个值

4、ASP.Net Core2.0之配置文件的读取_第4张图片

4、ASP.Net Core2.0之配置文件的读取_第5张图片

运行结果:
4、ASP.Net Core2.0之配置文件的读取_第6张图片

4、获取对象

4、ASP.Net Core2.0之配置文件的读取_第7张图片

按照json中的值创建类:

4、ASP.Net Core2.0之配置文件的读取_第8张图片

Startup中添加构造函数和属性:

    public IConfigurationRoot Configuration { get; }
        public Startup(IHostingEnvironment env){
            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json");
            Configuration = builder.Build();
        }

ConfigureServices中注册新增实体对象:

4、ASP.Net Core2.0之配置文件的读取_第9张图片

controller中添加构造和属性:

  public IOptions settings;
        public ConfigController(IOptions settings) {
            this.settings = settings;
        }

运行结果:

4、ASP.Net Core2.0之配置文件的读取_第10张图片

你可能感兴趣的:(.NET,Core)