2012-02-16 15 views
0

OpenRasta中的依賴注入器中是否存在一種機制,將創建的對象的實例拆除?無論依賴性生存期如何。OpenRasta依賴注入拆除

我試過翻看源代碼,但無法直接找到任何拆卸。看起來實施IDisposable也沒有辦法。

更新我主要是在尋找處理單身人士,所以我不會在openrasta-core項目上打開一張票。目前,我跟蹤自己的庫中的單例實例(當前不知道如何直接在OpenRasta中訪問單例),以便在應用程序關閉時訪問單例實例。

回答

2

處置權是一整套痛苦的執行權。每個請求對象具有一個已知的對象生命週期(實現OR DI接口的容器具有知道何時處置該作用域的鉤子),靜態(自2.1.1開始)將在主機關閉時由容器處置(這意味着幾乎從來沒有asp.net,每當你關閉自我託管的服務器/在mem主機中)和瞬態我們不知道如何做到這一點:你怎麼知道什麼時候必須處理,如果你不跟蹤它,如果你這樣做意味着它不會被釋放,這都是非常有問題的。

因此,內部的DI容器根本不會處理任何東西,儘管我們可能在請求關閉時添加了對容器處理和每個請求的單例處理,我想這會非常有用。隨意在openrasta-core項目上添加github票證。

或者,使用現有的IoC容器代替現有的容器。有些人還添加了自定義貢獻者來自行清理,而不必使用外部容器。

Seb

+0

這是一個清晰的答案,謝謝。單身人士的處置聽起來不錯,但我會在添加票證之前尋找一個優雅的解決方法。有沒有辦法直接訪問單身人士? – 2012-02-17 00:01:02