当前播放: 14 | 自定义配置数据源:低成本实现定制化配置方案
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
第二章:微服务实战篇 (11讲)
26 | 工程结构概览:定义应用分层及依赖关系
27 | 定义Entity:区分领域模型的内在逻辑和外在行为
28 | 工作单元模式(UnitOfWork):管理好你的事务
29 | 定义仓储:使用EF Core实现仓储层
30 | 领域事件:提升业务内聚,实现模块解耦
31 | APIController:定义API的最佳实践
32 | 集成事件:解决跨微服务的最终一致性
33 | 集成事件:使用RabbitMQ来实现EventBus
34 | MediatR:轻松实现命令查询职责分离模式(CQRS)
35 | MediatR:让领域事件处理更加优雅
课程暂停更新声明
14 | 自定义配置数据源:低成本实现定制化配置方案

14 | 自定义配置数据源:低成本实现定制化配置方案

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

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

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

展开
登录 后留言

精选留言(8)

  • Geek_6a7195
    最近在家 不走亲访友 正好学习 能否更新频率快点 不要按计划的星期四才更新 把存货都倒一倒
    2020-01-26
    11
  • Geek_6a7195
    配置只能读?没有回写的方法?想通过服务回写配置怎么办

    作者回复: 动态管理配置的做法不建议直接通过配置框架,而是提供服务来操作配置数据源,例如通过代码修改文件、或者调用远程API,更新分布式配置。
    这样的好处是配置的读取和变更处理行为都是一致,不会因为配置源的变更导致需要额外处理。

    2020-01-26
    2
    4
  • 学习者
    你好:请问段代码作用是什么?
    public override void Load()
            {
                //加载数据
                Load(false);
            }

    作者回复: 表示加载配置,且不触发ReLoad事件,这个方法是框架初次加载时调用的。

    2020-02-26
    1
  • 高海东
    课程讲的深入些,我看大部分都是讲个基本概念,简单的例子,实际项目不会这么简单,就那配置来说吧,讲的只是键值,实际项目中除了键值还回去其他值 多个项目

    作者回复: 第二三部分会讲到

    2020-02-05
    1
  • 智鑫
    老师,问下如果自定义获取源,配置的变更必须定时器主动监测吗
    2020-03-30
  • zc
    自己扩展获取到的配置文件数据,和通过configuraton读取到的配置应该作用,但是感觉扩展方式读配置麻烦许多

    作者回复: 实际上一般组件使用选项框架的方式强类型注入。

    2020-03-08
  • 川杰
    请问,这里的数据保存是用Data["time"]的方式,我可不可以在里面建一个 类,把数据绑定到类里,然后再供外界读取?

    作者回复: Options组件可以实现这个能力,后面章节有

    2020-02-05
  • zy
    怎么样让自己的配置节点使用依赖注入的形式传入 startup 的 Configure方法了。

    作者回复:

    下面代码是一个典型的Startup,其Configure方法中可以使用Configuration 属性
    public class Startup
    {
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }

            public IConfiguration Configuration { get; }
    }

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

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

48讲 | 48165 人已学习

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

欧创新  人保高级架构师

24讲 | 6574 人已学习

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

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

35讲 | 1963 人已学习

拼团 ¥79 原价 ¥99
数据结构与算法之美

王争  前Google工程师

79讲 | 77048 人已学习

拼团 ¥79 原价 ¥99