• .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();
            }

    综上所有配置的使用方法

  • 相关阅读:
    REST framework框架的基本组件
    GIT如何根据历史记录回退代码
    如何查看磁盘存储空间
    git免密拉取代码
    windows好用的cmd命令
    git如何新建分支
    screen命令
    解决windows配置visual studio code调试golang环境问题
    转载一篇棒棒的AWK教程
    解决Creating Server TCP listening socket 54.179.160.162:7001: bind: Cannot assign requested address
  • 原文地址:https://www.cnblogs.com/May-day/p/13441662.html
Copyright © 2020-2023  润新知