autofac文档:事件
AutoFac文档
目录
- 开始
- Registering components
- 控制范围和生命周期
- 用模块结构化Autofac
- xml配置
- 与.net集成
- 深入理解Autofac
- 指导
- 关于
- 词汇表
激活事件
在component生命周期的不同阶段使用事件。
Autofac暴露三个事件接口供实例的不同阶段调用
- OnActivating
- OnActivated
- OnRelease
这些事件会在注册的时候被订阅,或者被附加到IComponentRegistration 的时候
builder.RegisterType<Listener>().OnActivated(e => e.Instance.StartListening());
OnActivating
component被创建之前调用,在这里你可以
- 将实例转向另外一个或者使用代理封装它
- 进行属性注入
- 执行其他初始化工作
OnActivated
在component被完全创建的时候调用一次。在这个时候你可以执行程序级别的一些工作(这些工作依赖于对象被完全创建)-这种情况很罕见。
OnRelease
替代component的标准清理方法。实现了IDisposable 接口的标准清理方法(没有标记为ExternallyOwned) 通过调用Dispose 方法。没有实现IDisposable或者被标记为ExternallyOwned的清理方法是一个空函数-不执行任何操作。OnRelease 就是用来覆盖默认的清理行为的。