.NET Core 开发实战
肖伟宇
校宝在线架构师、SkyWalking .NET 探针贡献者、NetCorePal 组件库创建者
20086 人已学习
新⼈⾸单¥59
课程目录
已完结/共 61 讲
第一章:必备知识 (25讲)
时长 06:28
时长 02:13
.NET Core 开发实战
登录|注册
留言
13
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 11 | 文件配置提供程序:自由选择配置的格式
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
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
26 | 工程结构概览:定义应用分层及依赖关系
27 | 定义Entity:区分领域模型的内在逻辑和外在行为
28 | 工作单元模式(UnitOfWork):管理好你的事务
29 | 定义仓储:使用EF Core实现仓储层
30 | 领域事件:提升业务内聚,实现模块解耦
31 | APIController:定义API的最佳实践
32 | 集成事件:解决跨微服务的最终一致性
33 | 集成事件:使用RabbitMQ来实现EventBus
34 | MediatR:轻松实现命令查询职责分离模式(CQRS)
35 | MediatR:让领域事件处理更加优雅
36 | HttpClientFactory:管理向外请求的最佳实践
37 | gRPC:内部服务间通讯利器
38 | gRPC:用代码生成工具提高生产效率
39 | Polly:用失败重试机制提升服务可用性
40 | Polly:熔断慢请求避免雪崩效应
41 | 网关与BFF:区分场景与职责
42 | 网关与BFF:使用JWT来实现身份认证与授权
43 | 安全:反跨站请求伪造
44 | 安全:防开放重定向攻击
45 | 安全:防跨站脚本
46 | 安全:跨域请求
47 | 缓存:为不同的场景设计合适的缓存策略
48 | 部署:演示一个部署流程
49 | ConfigMap:实现基本配置方案
50 | 配置:使用分布式配置中心方案版本化管理配置
51 | 健康检查:与Liveness、Readiness、Startup探测集成实现高可用
52 | 健康检查:搭建全量健康检查探针和看板
53 | ForwardedHeaders:确保服务在负载均衡下正常工作
54 | 安全:介绍强制HTTPS的两种方式
55 | 日志:与EFK日志三件套集成
56 | 日志:Exceptionless日志系统
57 | 追踪:集成SkyWalking .NET实现追踪
58 | 监控与告警:Prometheus与AlertManager
59 | 监控与告警:用Granfana实现监控看板
60 | prometheus-net:自定义监控指标利器
61 | 结课测试&结束语
本节摘要

各位亲爱的学员:
推荐大家阅读一下配置框架的源码,代码量虽然不多,但这里面有不少可以借鉴的设计方法和代码风格,另外其中有一个 ChainedConfigurationProvider,是课程里没有提到的,可以思考一下这个提供程序的使用场景。
源码下载地址:https://github.com/dotnet/extensions

课件和 Demo 地址
https://gitee.com/geektime-geekbang/NET-Core

登录 后留言

全部留言(13)

  • 最新
  • 精选
吕哲
学到现在,感觉体验不是太好。提两个建议: 1. 自上而下,讲一个东西的时候,最好能先结合案例讲清楚为什么要用这个东西。 2. 抓住重点,类似的东西,可以举一反三的,就不用全部都演示一遍了。 全站唯一一个.net相关的课程,老师加油啊!

作者回复: 感谢建议和支持

2020-03-28
2
5
Geek_ae287d
希望提供一个id4权限和授权的东西希望可以深入讲解(id4在微服务的应用) 你可以在开一个课程 肯定会购买因为网上东东太乱没系统 老师课程讲解容易懂 喜欢这种授课方式 希望可以加入微服务架构负载均衡算法Consul实现服务治理的应用例子

作者回复: 感谢建议

2020-04-23
1
ff
老师好 当监听到文件变化时,如果是web程序,应用程序池会重启吗,因为之前的framework版本的话,调整了配置文件时,会直接导致session丢失

作者回复: 应用程序池是IIS里的概念,ASP.NET Core经过了重新设计,与Framework的ASP.NET完全不同,修改配置文件,程序不会重启,并不会造成session丢失。 另外,你说的之前ASP.NET改配置重启session丢失应该是使用了应用内存session,如果使用分布式session存储的话,也是不会丢失的。

2020-01-28
2
1
王亚
老师您好 在引用相同包的前提下 var builder = new ConfigurationBinder(); 这行代码在控制台可以编译 但在wepapi中却不能这样写 为什么呢?

作者回复: 应该是ConfigurationBuilder,单词拼错拉

2020-02-27
WAKU
Optional = true时, 没有讲解, 是忘了吗

作者回复: optional 默认为 false,如果为true,则表示如果文件不存在,就忽略掉。

2020-01-24
路人甲
踩坑了, json,ini 文件 要始终复制。
2020-02-14
3
Green
AddJsonFile("appsettings.json") 报错找不到可选文件 1. 修改.csproj <ItemGroup> <Content Include="appsettings.json"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> </ItemGroup> 通过将文件的 "Copy to Output Directory" 属性设置为 "Copy always" 或 "Copy if newer",您可以确保文件在运行时可用,并且它们始终与源文件同步。 2.右键appsettings.json -> 属性 -> 复制到输出目录 -> 选择 “始终复制” 即可解决这个坑
2023-03-18
丁丁历险记
几行基础代码,那么多坑,builder.AddJsonFile("xxx.json") 没屁用,文件加载不了。 写绝对路径才出来。
2022-08-06
A
这里补充下,AddJsonFile方法的optional参数如果选择false,bin文件中没有该文件,也就是没有选择总是复制选项,在build时会抛出错误,而选择为true,则不会,当然对应的配置里面也不会加载到文件数据了, 总结:就是没有文件会提示你抛出一个异常
2022-05-01
Duke
看了蒋金楠大佬的书之后。再来看,这些代码的作用 用途是什么非常清晰
2022-03-17
收起评论