当前播放: 06 | 作用域与对象释放行为:你知道IDisposable对象释放的时机和坑吗?
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:必备知识 (20讲)
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:记录对查询分析友好的日志
06 | 作用域与对象释放行为:你知道IDisposable对象释放的时机和坑吗?

06 | 作用域与对象释放行为:你知道IDisposable对象释放的时机和坑吗?

肖伟宇
校宝在线架构师、SkyWalking .NET探针贡献者、NetCorePal组件库创建者
61讲 约600分钟2460
订阅¥129
本节摘要
登录 后留言

精选留言(6)

  • Mr.Beethoven
    老师,什么时候会用到“从根容器获取瞬时服务”这件事
    是不是不应该从根容器获取瞬时服务

    作者回复: 对于实现了IDisposable的服务,要避免在跟容器以瞬时服务的方式获取

    对于没有实现IDisposable的服务,是没有关系的

    2020-01-14
    1
  • 季某人
    老师您好,请问一下如果服务不实现IDisposable接口,那么这个服务是由GC负责释放的吗

    作者回复: 是的

    2020-01-21
  • 再见理想
    最后的根容器瞬时服务为什么 请求了多次 只释放了一次 不应该是每次创建都会有一个新的吗

    作者回复: 是因为请求的代码里并没有创建瞬时服务,仅仅在启动过程中使用根容器创建了瞬时服务

    2020-01-15
  • null
    老师好,视频中提到,自己创建的实体,注册为单列,应用程序退出也不会释放,最后是等GC回收吗?延伸一下如果是非托管资源能否注册为单列呢?比如说日志文件流,这种是否会出现应用程序退出也不会释放,GC也不会回收的永久占用呢?

    作者回复: 实际上应用程序退出时,程序申请的内存会释放,但如果IDisposeable的对象未被主动调用Dispose,可能会因为一些原因,该组件某些工作未处理完成,造成异常,例如日志记录器队列里的日志可能就丢失了。
    因此对于IDisposeable的对象,一定要定义并管理好它的生命周期,让程序退出更优雅。

    2020-01-14
  • 黄青松
    老师,什么是根容器,什么是子容器

    作者回复: 根容器可以理解为由我们通过ServiceCollection Build出的容器,子容器是由容器创建出来的,其中父容器也可以是其他容器的子容器,也就是孩子的孩子,这个关系是可以一直嵌套下去的

    2020-01-14
  • Mr.Beethoven
    666
    2020-01-14
收起评论
看过的人还看
DDD实战课

欧创新  人保高级架构师

24讲 | 5895 人已学习

¥68
设计模式之美

王争  前Google工程师,《数据结构与算法之美》专栏作者

100讲 | 20015 人已学习

拼团 ¥129 原价 ¥199
Electron开发实战

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

30讲 | 1689 人已学习

¥99
说透敏捷

宋宁  IBM资深敏捷教练

12讲 | 6218 人已学习

¥39