遠端物件的啟動
Marshal-by-reference 物件有兩種啟動型別:
伺服器啟動。
伺服器啟動的物件是伺服器在需要時才會建立的物件。呼叫 new 或 Activator.GetObject 建立用戶端 Proxy 時並不會建立它們,而是當用戶端在該 Proxy 上叫用第一個方法時建立。如需詳細資訊,請參閱伺服器啟動。
您可以使用 WellKnownObjectMode 列舉型別,將伺服器啟動的物件設定為 Singleton 或 SingleCall 物件。Singleton 物件是不論是它有多少個用戶端,都一律只有一個執行個體,而且具有預設存留期的物件 (用戶端可使用存留使用期系統,以參與 Singleton 執行個體的存留期。如需詳細資訊,請參閱存留使用期)。將物件設定為 SingleCall 物件時,系統會為每個用戶端方法叫用建立新物件。因為每次叫用時用戶端都會取得新執行個體的參考,所以 SingleCall 型別不會參與存留使用期系統。
用戶端啟動。
用戶端啟動的物件是當用戶端呼叫 new 或 Activator.CreateInstance 時,會在伺服器上建立的物件。用戶端本身可以使用存留使用期系統,參與這些執行個體的存留期。如需詳細資訊,請參閱用戶端啟動和存留使用期。