當您將一個從MarshalByRefObject繼承的對象傳遞給另一個AppDomain時,創建該AppDomain的AppDomain不會誘發GC.Collect()收集對象,前提是該對象未根要麼通過GC.Collect()調用AppDomain?通過AppDomain邊界的垃圾收集對象
[當我說不是源於我的意思是沒有任何開發人員編寫的代碼訪問它了。]
看來,對象沒有被收集而獲得晉升的下一代!
但是,如果我停止傳遞對象到一個差異AppDomain,它正在收集按預期。
這是行爲設計嗎?如果是這樣的理由?
謝謝你們,
P.S.我知道代碼中的GC.Collect()很糟糕,原因很多,我只是想了解GC如何在MBRO上進行。
Fge,謝謝!好吧,雖然我們放棄了對MBRO運行時的引用,但仍然通過租賃和生命週期管理服務繼續保留對象。我會閱讀更多關於這些領域。 – RanC 2010-10-19 05:54:14
此鏈接可能嗎? http://msdn.microsoft.com/en-us/library/23bk23zc(v=vs.85).aspx – Spook 2014-03-27 11:18:23