2010-05-24 32 views
2

我們知道MarshalByRef允許我們在不同的AppDomain中創建一個對象並使用Proxy對象來訪問它。該對象的行爲與AppDomain實際所處的環境不同。這聽起來在隔離性和安全性方面相當接近。MarshalByValue對象有什麼意義?

但爲什麼還有MarshalByValue? MarshalByValue只會導致一個新反序列化的對象,它是不同AppDomain中對象的精確副本。如果我們需要這個對象,爲什麼不在當前的AppDomain中創建它?爲什麼還要先在不同的AppDomain中創建它,然後通過MarshaoByValue取回它?

非常感謝。

回答

2

MSDN措施: -

當考慮MarshalByRefObject的 對象,該對象上的所有電話都 往返到服務器。有時, 需要編組值 而不是引用的對象, 以便後續對編組對象的調用將是本地而不是遠程的 。在DCOM中,執行 元帥值對象需要 大量工作。使用.NET遠程處理, 所需的全部內容是按值返回的 對象是可串行化的 。

+0

你真棒。 :) – smwikipedia 2010-05-24 07:17:20