2

在.Net遠程處理中,如果創建遠程對象列表,那麼如果遠程端消失,並且您嘗試訪問其中一個列表項,則會出現異常。從服務器端列表中刪除斷開連接的MarshalByRefObjects

一切都很好,你可以嘗試抓住它,而不是世界的盡頭。

但是,如果你嘗試從List<MarshalByRefObject>刪除斷開MarshalByRefObject你就會得到一個例外,因爲List.Remove()使用Object.Equals()並且變得不清洗名單。

這應該用MarshalByRefObject對象的某種本地包裝來解決,還是有更清晰的方法?

回答

0

我們實現的解決方案確實是在本地打包/撰寫MarshalByRefObject,以便清單能夠正確清理。代理設計模式是最乾淨的方式!

相關問題