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 就是用來覆蓋默認的清理行為的。