用戶端啟動過程
本主題專門說明一項為了在現有應用程式中提供回溯相容性而保留的舊有技術,不建議用於新的開發工作。分散式應用程式應使用 Windows Communication Foundation (WCF) 進行開發。
用戶端啟動物件的物件存留期是由呼叫的應用程式定義域所控制,就像是用戶端的本機物件會由呼叫應用程式定義域所控制一樣。在建立用戶端啟動的物件後,用戶端會呼叫伺服器。伺服器會產生遠端物件並將物件參考 (ObjRef) 傳回用戶端。用戶端會使用該 ObjRef 來建立遠端物件的 Proxy。每次當用戶端建立用戶端啟動物件的執行個體時,它會收到與特定遠端物件的伺服器執行個體進行通訊的 Proxy,直到它的租用期到期,且回收了記憶體為止。
在 COM 中,用戶端會藉由保留物件的參考來記憶物件。當最後一個用戶端釋放出最後的參考,物件就可以自行刪除。用戶端啟動可針對伺服器物件的存留期提供相同的用戶端控制,但是過程不會像保留參考或是持續使用 Ping 命令來確認伺服器或用戶端持續存在那樣的複雜。反之,用戶端啟動物件會使用存留期租用期來決定它們應該繼續存在的時間長短。在用戶端建立遠端物件時,可以指定物件應該存在的預設時間長度。如果遠端物件已經到達預設的存留期上限,就會連絡用戶端並詢問是否應該繼續存在,以及該存在多久 (如果答案是的話)。如果用戶端目前無法使用,則同樣會指定預設時間來決定伺服器物件在嘗試連絡用戶端之前,應該等候多久才能將自己標記起來以進行記憶體回收作業。用戶端甚至可能要求無限制的預設存留期,以有效預防遠端物件在伺服器應用程式定義域遭到破壞之前被回收的命運。這項設定與伺服器啟動的無限制存留期之間的差異,在於無限的伺服器啟動物件可服務該型別的所有用戶端要求,而用戶端啟動的執行個體則是只能針對負責建立這些執行個體的用戶端與參考來服務。如需詳細資訊,請參閱存留期使用期。
若要建立用戶端啟動型別的執行個體,用戶端必須以程式設計方式設定自己的應用程式 (或是使用組態檔) 並呼叫 new (Visual Basic 中的 New),否則它們會將遠端物件的組態以呼叫方式傳遞給 Activator.CreateInstance。
如需如何建立用戶端啟動型別之執行個體的詳細資訊,請參閱 HOW TO:建立用戶端啟動型別的執行個體。
如需如何使用組態檔來設定主機應用程式以建立用戶端啟動型別的詳細資訊,請參閱 <activated> 項目 (服務執行個體)。如需如何使用組態檔來設定用戶端以使用用戶端啟動型別的詳細資訊,請參閱 <activated> 項目 (用戶端執行個體)。