码迷,mamicode.com
首页 > Web开发 > 详细

.Net core下的配置设置(二)——Option

时间:2019-03-23 22:35:06      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:指定   ash   14.   使用   []   不同的   fun   https   family   

我在前面的文章.Net core下的配置设置(一)——Configuration中介绍了.net core下配置文件的读取方法,在.net core中,直接从Configuration对象中读取的并不多,大多是用的配置依赖注入的方式Option,本文这里简单的介绍下它的用法。

首先还是以一个简单的配置文件为例:

{
  "section": {
    "key1""value2",
    "key2": -5
  }
}

如下是读取配置的代码: 

static void Main(string[] args)
{
    var configBuilder = new ConfigurationBuilder().AddJsonFile("appsettings.json");
    var config        = configBuilder.Build();
 
    var service  = new ServiceCollection().Configure<ConfigData>(config.GetSection("section"));
    var provider = service.BuildServiceProvider();
 
    var option  = provider.GetService<IOptions<ConfigData>>();
    var cfgData = option.Value;
}
 
class ConfigData
{
    public string Key1 { get; set; }
    public int    Key2 { get; set; }
}

主要步骤如下

  1. 首先构建Configuration,指定配置数据源
  2. 在DI框架中注入Option指定读取方式
  3. 通过DI框架读取Option

看起来更加复杂了, 但这种方式遵循了两个重要软件工程原则:

对于多个应用模块,可能共享同一个配置文件,每个模块但却有不同的配置项。使用这种方式,不同的模块只感知到自己的配置文件,不用感知别的模块的配置,模块依赖更少,功能更加独立,灵活。

另外,Option模式提供了更多的功能:

更多的信息参考官方文档:ASP.NET Core 中的选项模式

.Net core下的配置设置(二)——Option

标签:指定   ash   14.   使用   []   不同的   fun   https   family   

原文地址:https://www.cnblogs.com/TianFang/p/10585747.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!