使用溫莎城堡,我有瞬間的生活方式配置的一個組成部分:溫莎城堡:我的瞬態成分是否會被垃圾收集?
<component id="publish.mapping.default"
service="IMyService, MyAssembly"
type="MyServiceImplementation, Myassembly"
lifestyle="transient" />
這將是這樣使用:
var service = container.Resolve<IMyService>(componentId);
// service usage ....
// service goes out of scope ...
我的問題是,將服務實例後,垃圾回收超出範圍,或將溫莎城堡舉行參考?我發現this similar question,這意味着後者可能是這種情況 - 但在檢查了張貼在那裏的鏈接之後,我不確定討論是關於引用還是關於確保在實現IDisposable時丟棄該對象。我的物品不需要丟棄。
如果溫莎城堡堅持實例,是否有任何簡單的方法來防止這種情況(可能通過配置)?
編輯
看來,我需要設置發佈跟蹤政策。這可以在xml配置文件中配置,還是需要在代碼中設置?發佈跟蹤策略是否可以基於每個組件設置?
謝謝。你知道這是否可以在每個組件的基礎上配置? (請參閱編輯我的問題) – driis 2009-02-23 18:44:02
我不這麼認爲。我實際上並沒有使用Castle(我想),但文檔似乎表明它是內核範圍的。我不知道這是否是正確的做法,但可能會添加一個關注組件類型的自定義策略... – 2009-02-23 20:57:11