首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

.net core config读取(2)

.net core config读取(2)

示例代码


Option
引用

第一个示例中的引用也要添加

Microsoft.Extensions.Options

在appsettings.json中添加测试数据

    {
      "MyData": {
        "TotalCount": 2,
        "Students": [
          {
            "Name": "Lili",
            "Sex": "女"
          },
          {
            "Name": "Tom",
            "Sex": "男"
          }
        ]
      }
    }

实体类需要实现IOptions<T>

    public class ConfigTest:IOptions<ConfigTest>
    {
        public int TotalCount { get; set; }
        public List<Student> Students { get; set; }
        public ConfigTest Value => this;
    }

读取json

    public class ConfigController : Controller
    {
        private ConfigTest _configTestByOptions;
        private readonly IConfiguration _configuration;
        public ConfigController(IConfiguration configuration)
        {
            _configuration = configuration;
        }
        public IActionResult Index()
        {
            //GetSection:必须先读节点
            //ConfigTest实现接口IOptions<ConfigTest>
            _configTestByOptions = _configuration.GetSection("MyData").Get<ConfigTest>();
            return View();
        }
    }

注意

CreateDefaultBuilder方法已经读取appsettings.json,所以在这个示例中,我们没有调用AddJsonFile方法添加appsettings.json文件,而是直接读取appsettings.json中的数据即可

    public static IWebHost BuildWebHost(string[] args) =>
                WebHost.CreateDefaultBuilder(args)
                    .UseStartup<Startup>()
                    .Build();
返回列表