autofac文档:事件

AutoFac文档

目录

  1. 开始
  2. Registering components
  3. 控制范围和生命周期
  4. 用模块结构化Autofac
  5. xml配置
  6. 与.net集成
  7. 深入理解Autofac
  8. 指导
  9. 关于
  10. 词汇表

激活事件

在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 就是用来覆盖默认的清理行为的。

posted @ 2012-06-09 16:14  Iyy  阅读(4318)  评论(0编辑  收藏  举报