我知道在你註冊一個組件時有OnRelease
方法,ILifetimeScope
上也有CurrentScopeEnding
事件,但是在你不再允許使用有問題的生命週期作用域來解析任何東西時,這兩個擴展點中的代碼都會執行得非常奇怪。如果你嘗試,你會得到ObjectDisposedException。但我需要!我能做什麼?如何在生命週期終止之前運行邏輯autofac?
0
A
回答
0
當您處理當前生命週期範圍時,解決範圍內的任何問題都有點奇怪。你爲什麼需要它?嘗試從根作用域解析「你需要的東西」。
0
我知道這個線程是海拉老,但它仍然是開放的,所以我認爲它是免費的遊戲。另外我只是自己解決了這個問題,所以我想我會回答它,因爲它在我的谷歌搜索結果中很高。可以幫助別人。
這裏就是我所做的記錄ILifetimeScope
實例的壽命:
class LifetimeLogger : IStartable
{
readonly ILifetimeScope _lifetimeScope;
public LifetimeLogger(ILifetimeScope lifetimeScope)
{
_lifetimeScope = lifetimeScope;
//_lifetimeScope = scope;
}
public void Start()
{
initLifetimeScope(_lifetimeScope);
}
static void initLifetimeScope(ILifetimeScope lifetimeScope)
{
//lifetimeScope.
lifetimeScope.ChildLifetimeScopeBeginning += (sender, args) =>
{
log("Begging lifetime scope (tag {0})", args.LifetimeScope.Tag);
initLifetimeScope(args.LifetimeScope);
};
lifetimeScope.CurrentScopeEnding += (sender, args) => log("Ending lifetime scope ({0})", args.LifetimeScope.Tag);
}
}
您可以使用像,你會得到在每一個孩子一生範圍的開始和結束時執行的邏輯。
相關問題
- 1. Autofac生命週期管理
- 2. Android項目生命週期 - 活動生命週期之前(Activity.onCreate())
- 3. 如何運行componentwillmount生命週期onclick?
- 4. 在目標之前始終運行生命週期階段(例如,包)(例如,exec:exec)
- 5. 爲什麼生命週期不運行
- 6. salesforce apex中的提交後邏輯觸發器生命週期
- 7. 如何在子程序運行完之前終止Python程序?
- 8. 如何在啓動git bash終端之前運行linux命令
- 9. 週期性事件邏輯
- 10. JSF生命週期,如何在生命週期的中期完成響應?
- 11. Autofac檢查類型的生命週期範圍正在解決
- 12. 在Autofac中創建生命週期範圍
- 13. DialogFragment生命週期行爲
- 14. onPause()在活動生命週期中的onStopped()之前
- 15. 生命週期:componentWidReceiveProps在組件之前調用
- 16. 如何讓Maven運行JMeter測試(無其他生命週期)
- 17. maven如何知道運行哪個生命週期?
- 18. WebForms中的異步/等待 - 如何在頁面生命週期結束之前繼續運行?
- 19. 蟒蛇多 - 運行邏輯,當進程終止
- 20. 在週期(使用邏輯)隨機數
- 21. 程序在運行邏輯之前退出
- 22. 在發送預約之前運行自定義驗證邏輯
- 23. MVP和Android處理生命週期事件,在哪裏做UI邏輯
- 24. 瞭解前臺服務生命週期
- 25. 如何在CDI生命週期之外注入ServletContext
- 26. 繼承兒童生命週期範圍內的autofac模塊
- 27. 匹配生命週期範圍內的Autofac生存期和默認提供者
- 28. 在response.redirect後停止頁面生命週期執行
- 29. Android:做活動生命週期事件停止正在運行的方法嗎?
- 30. 反應的生命週期:ReactDOM.render之前調用getDefaultProps
這正是我所做的。這只是我需要保存對數據庫的更改的「事情」。只有在當前請求結束時纔會發生 - 即當前生命週期範圍正在處理。 – 2011-12-19 09:22:34