分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

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

发布时间:2023-09-06 02:35责任编辑:沈小雨关键词:配置

我在前面的文章.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

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

  • 接口分离原则 (ISP) 或封装 – 依赖于配置设置的方案(类)仅依赖于其使用的配置设置。
  • 关注点分离 – 应用的不同部件的设置不彼此依赖或相互耦合。

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

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

  • 更改通知
  • 命名选项
  • 可重载配置
  • 选择性选项失效
  • 后期配置

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

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

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved