弱对远程对象的引用(透明代理)

时间:2013-09-27 17:40:27

标签: c# .net remoting weak-references

我有一个理论问题。

如果对它的最后一个引用是WeakReference,则会收集透明代理对象,但仍然在主机进程中引用了真实对象。

示例

使用的示例没有意义,但真实场景太复杂,无法描述。

假设有一个使用WeakReferences实现的缓存,如下所述: WeakReferenceExampleMSDN

现在缓存中充满了生活在另一个进程中的对象(远程处理)。这些对象在本地进程中只是透明的代理对象,它们的生命周期由另一个进程控制。

如果没有魔法我假设代理对象被收集,因为代理对象只是真实对象的句柄。首次运行GC后,缓存为空。

  • 是否有一些魔法,这个理论缓存可以用于远程对象?

1 个答案:

答案 0 :(得分:0)

透明代理将由GC收集。因此,这样的缓存不适用于RemoteObjects