作用域
- IServiceScope
- 作用域主要是由IServiceScope这个接口来承载的
实现IDisposable接口类型的释放
- 对于实现了IDisposable类的实例的对象,我们容器会负责对其生命周期的管理,当我们使用完毕以后,它会去释放这些对象。
- DI(容器)只负责由其创建的对象的实例
- 如果这个对象是由我们创建并放到容器里的,容器是不负责释放这个对象的
- DI在容器或子容器释放时,释放由其创建的对象实例
- 也就是说,容器的生命周期与其创建的对象的生命周期是有对应关系的。
建议
- 避免在根容器获取实现了IDisposable接口的瞬时服务
- 避免手动创建实现了IDisposable对象,应该使用容器来管理其生命周期
例子
首先我们新建Web程序