Aktivierung
Es gibt zwei Aktivierungstypen für Marshal-by-Reference-Objekte:
Serveraktivierung.
Serveraktivierte Objekte werden vom Server nur dann erstellt, wenn sie benötigt werden. Sie werden nicht erstellt, wenn der Clientproxy durch einen Aufruf von new oder Activator.GetObject erstellt wird, sondern wenn der Client die erste Methode für diesen Proxy aufruft. Einzelheiten finden Sie unter Serveraktivierung.
Verwenden Sie die WellKnownObjectMode-Enumeration, um die vom Server aktivierten Objekte als Singleton-Objekte oder SingleCall-Objekte zu konfigurieren. Singleton-Objekte sind Objekte, für die immer nur eine Instanz vorhanden ist. Die Anzahl der Clients für dieses Objekt spielt dabei keine Rolle, ebenso wenig wie die Frage, welche Objekte eine Standardlebensdauer haben. (Der Client kann über das Lebensdauer-Leasesystem an der Lebensdauer von Singleton-Instanzen teilnehmen. Einzelheiten finden Sie unter Lebensdauer-Leases.) Wenn ein Objekt als SingleCall-Objekt deklariert wird, erstellt das System für jeden Clientmethodenaufruf ein neues Objekt. Da ein Client bei jedem Aufruf einen Verweis auf eine neue Instanz erhält, nehmen SingleCall-Typen nicht am Lebensdauer-Leasesystem teil.
Clientaktivierung.
Clientaktivierte Objekte werden auf dem Server erstellt, wenn der Client new oder Activator.CreateInstance aufruft. Für den Client selbst, der das Lebensdauer-Leasesystem verwendet, ist die Teilnahme an der Lebensdauer dieser Instanzen möglich. Einzelheiten finden Sie unter Clientaktivierung und Lebensdauer-Leases.
Siehe auch
Aktivierung und Lebensdauer von Objekten | Remotefähige Objekte | Serveraktivierung | Clientaktivierung