当前播放: 12 | 配置变更监听:配置热更新能力的核心
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:必备知识 (25讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | .NET Core的现状、未来以及环境搭建
免费
04 | Startup:掌握ASP.NET Core的启动过程
免费
05 | 依赖注入:良好架构的起点
免费
06 | 作用域与对象释放行为:你知道IDisposable对象释放的时机和坑吗?
07 | 用Autofac增强容器能力:引入面向切面编程(AOP)的能力
08 | 配置框架:让服务无缝适应各种环境
09 | 命令行配置提供程序:最简单快捷的配置注入方法
10 | 环境变量配置提供程序:容器环境下配置注入的最佳途径
11 | 文件配置提供程序:自由选择配置的格式
12 | 配置变更监听:配置热更新能力的核心
13 | 配置绑定:使用强类型对象承载配置数据
14 | 自定义配置数据源:低成本实现定制化配置方案
15 | 选项框架:服务组件集成配置的最佳实践
16 | 选项数据热更新:让服务感知配置的变化
17 | 为选项数据添加验证:避免错误配置的应用接收用户流量
18 | 日志框架:聊聊记日志的最佳姿势
19 | 日志作用域:解决不同请求之间的日志干扰
20 | 结构化日志组件Serilog:记录对查询分析友好的日志
21 | 中间件:掌控请求处理过程的关键
22 | 异常处理中间件:区分真异常与逻辑异常
23 | 静态文件中间件:前后端分离开发合并部署骚操作
24 | 文件提供程序:让你可以将文件放在任何地方
25 | 路由与终结点:如何规划好你的Web API
第二章:微服务实战篇 (1讲)
26 | 工程结构概览:定义应用分层及依赖关系
12 | 配置变更监听:配置热更新能力的核心

12 | 配置变更监听:配置热更新能力的核心

肖伟宇
校宝在线架构师、SkyWalking .NET探针贡献者、NetCorePal组件库创建者
61讲 约600分钟2526
单独订阅¥129
2人成团¥99
1
本节摘要

肖伟宇老师
春节期间,1 月 30 号会停更一次,期间推荐大家阅读一下配置框架的源码,代码量虽然不多,但这里面有不少可以借鉴的设计方法和代码风格,另外其中有一个 ChainedConfigurationProvider,是课程里没有提到的,可以思考一下这个提供程序的使用场景。
源码下载地址:https://github.com/dotnet/extensions
课程将在 2 月 6 日恢复更新。

课件和 Demo 地址
https://github.com/witskeeper/geektime

展开
登录 后留言

精选留言(5)

  • Grour
    老师您好:
    我在中间件里想实现某些功能时需要读取配置,故在构造函数中注入IOption<T>,此操作运行没有问题.
    后来尝试使用IOptionSnapshot<T>实现配置文件实时读取,可是程序运行时,却抛出异常.
    1. 为什么会这样?
    2.怎么解决比较合理?

    作者回复: 你看看报错是不是因为服务的生命周期冲突了,服务单例时使用IOptionSnapshot会报错,因为IOptionSnapshot是Scoped的,不能被单例服务依赖。
    建议使用IOptionsMonitor<T>,它是单例的。

    另外需要注意的是在注册时传入的是T,服务构造函数注入的是IOptionsMonitor<T>,如:

    services.Configure<T>(configuration)

    2020-01-28
    1
  • ff
    配置变更监听的话,是只能监听配置文件的变化吗?
    对于内存配置和环境变量配置的变更是否可以监听到呢?

    作者回复: 内存提供程序和环境变量提供程序并没有跟踪数据变化,有需求的话可以基于现有的实现重写自定义的监听逻辑。

    2020-02-10
  • ff
    使用 ChangeToken.OnChange监听配置变化的时候,如果使用VSCode去编辑保存配置文件的时候,监听的回调会被执行两次,如果使用NotePad编辑保存的话就是正常的执行一次,是不是VsCode保存的时候有什么特殊的操作?不知道小伙伴们有没有遇到这个问题??

    作者回复: 文件系统有关

    2020-02-06
  • zy
    有没有办法第一次就加载不需要改变才加载了。这样得写两次加载配置的方法。一次是第一次。另一次就是变更时才处理的

    作者回复: 参考后面Options的章节

    2020-02-03
  • Quintos
    在使用ChangeToken 注册 OnChange callback时,第一个参数中的changetoken如果是由某个section来生成的话,
    为什么对配置文件section之外的区域进行修改,也会引起section的onchange事件呢?

    作者回复: 实现上section的changetoken就是root的changetoken,没有区分。
    需要特别区分的,可以自己build一个root对象来做独立配置

    2020-02-02
收起评论
看过的人还看
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

48讲 | 46841 人已学习

拼团 ¥79 原价 ¥99
DDD实战课

欧创新  人保高级架构师

24讲 | 5993 人已学习

拼团 ¥55 原价 ¥68
Electron开发实战

邓耀龙  美团高级前端工程师

30讲 | 1747 人已学习

拼团 ¥79 原价 ¥99
说透敏捷

宋宁  IBM资深敏捷教练

12讲 | 6409 人已学习

¥39