• .netcore的配置IConfiguration和IOptions的使用


    一,appsettings.json配置添加如下

      "MyOptions": {
        "Id": 2,
        "Name": "appsettings"
      }

    二,使用IConfiguration读取配置,如下控制器代码

    namespace TestCore.Controllers
    {
        [ApiController]
        [Route("[controller]/[action]")]
        public class ConfigTestController : ControllerBase
        {
            private IConfiguration _configuration;
            public ConfigTestController( IConfiguration configuration)
            {
                _configuration = configuration;
            }
            public string GetConfiguration()
            {
                return "-configuration获取:" + _configuration.GetSection("MyOptions").GetValue<string>("Name");
            }
        }
    }

    ps:测试代码没有更改Program默认配置文件所以默认读的是appsettings.json配置文件

    二,IOptions的使用

    namespace TestCore.Controllers
    {
        [ApiController]
        [Route("[controller]/[action]")]
        public class ConfigTestController : ControllerBase
        {
            private TestModel _options;
            public ConfigTestController(IOptions<TestModel> options)
            {
                _options = options.Value;
            }
            public string GetIOptions()
            {
                return "IOptions获取:" + _options.Name;
            }
        }
    }

    Startup的ConfigureServices有两种写法,第一是读取配置文件,第二是自己给实体赋值

            public void ConfigureServices(IServiceCollection services)
            {
                services.Configure<TestModel>(Configuration.GetSection("MyOptions"));    //获取默认配置文件的值
                //services.Configure<TestModel>(m=> { m.Name = "startup读取";m.Id = 1; });  //获取自己实例的配置
                services.AddControllers();
            }

    综上所有配置的使用方法

  • 相关阅读:
    (17)打鸡儿教你Vue.js
    (16)打鸡儿教你Vue.js
    (15)打鸡儿教你Vue.js
    (14)打鸡儿教你Vue.js
    (13)打鸡儿教你Vue.js
    Webpack 入门教程
    ios textfield如何设置,只能输入1.0-9.9内的数字,并实现时时监测效果
    安卓edittext实现输入数字限制条件的效果
    js动态设置根元素的rem方案
    Fresco使用之OOM问题记录
  • 原文地址:https://www.cnblogs.com/May-day/p/13441662.html
Copyright © 2020-2023  润新知