2013-09-27 41 views
1

我有一個理論問題。弱引用遠程對象(透明代理)

請問如果最後一個引用它是一個WeakReference的,但真正的對象仍然是在宿主進程中引用的透明代理對象進行收集。

例如

使用的例子是沒有意義的,但實際情況是太複雜來形容。

假設有在此描述與在WeakReferences實現的緩存: WeakReferenceExampleMSDN

現在高速緩存填充有住在另一處理(遠程處理)的對象。這些對象在本地進程中只有透明的代理對象,並且它們的生存期由另一個進程控制。

如果沒有魔法,我假設代理對象被收集,因爲代理對象只是真實對象的句柄。 GC第一次運行後,緩存爲空。

  • 有沒有一些神奇的東西,這個理論上的緩存可以用於遠程對象?
+2

難道你不應該簡單地測試它嗎?創建一個弱引用。永遠睡覺(或GC.Collect)並檢查它是否有任何價值? – Alxandr

回答

0

透明代理將由GC收集。因此,這種緩存不適用於RemoteObjects