Clientaktivierung

Vom Client aktivierte Objekte sind Objekte, deren Lebensdauer so über die aufrufende Anwendungsdomäne gesteuert wird, als ob sich die Objekte lokal auf dem Client befinden würden. Wenn ein vom Client aktiviertes Objekt erstellt wird, ruft der Client den Server auf. Der Server instanziiert das Remoteobjekt und gibt dem Client einen Objektverweis (ObjRef) zurück. Der Client verwendet ObjRef, um einen Proxy für das Remoteobjekt zu erstellen. Jedes Mal, wenn ein Client eine Instanz eines vom Client aktivierten Objekts erstellt, empfängt er einen Proxy, der mit einer bestimmten Serverinstanz des Remoteobjekts kommuniziert, bis seine Lease abläuft und sein Speicher wiederverwendet wird.

Bei COM behalten Clients ein Objekt im Speicher, indem sie einen Verweise darauf beibehalten. Wenn der letzte Client seinen letzten Verweis freigibt, kann sich das Objekt löschen. Die Clientaktivierung bietet die gleiche Clientsteuerung über die Lebensdauer des Serverobjekts, jedoch ohne die Komplexität der Beibehaltung von Verweisen oder die konstante Übermittlung von Pingsignalen, um das Vorhandensein des Servers oder des Clients zu bestätigen. Stattdessen stellen vom Client aktivierte Objekte mithilfe von Lebensdauerleases fest, wie lange sie weiter bestehen sollen. Wenn ein Client ein Remoteobjekt erstellt, kann er eine Standardlebensdauer für das Objekt angeben. Wenn das Remoteobjekt das Ende der Standardlebensdauer erreicht, nimmt es Kontakt zum Client auf und "fragt", ob und, wenn ja, wie lange es weiter bestehen soll. Wenn der Client derzeit nicht verfügbar ist, wird außerdem eine Standardzeit angegeben. Diese legt fest, wie lange das Serverobjekt versuchen soll, Kontakt zum Client aufzunehmen, bevor es sich für die Garbage Collection markiert. Der Client könnte sogar eine unbegrenzte Standardlebensdauer anfordern und damit eine Wiederverwendung des Remoteobjekts so lange effektiv verhindern, bis die Serveranwendungsdomäne entfernt wird. Der Unterschied zwischen dieser und einer vom Server aktivierten unbegrenzten Lebensdauer ist der, dass ein vom Server aktiviertes Objekt mit unbegrenzter Lebensdauer allen Clientanforderungen für diesen Typ dient, während die vom Client aktivierten Instanzen nur dem Client und dem für ihre Erstellung verantwortlichen Verweis dienen. Weitere Informationen hierzu finden Sie unter Lebensdauerleases.

Um eine Instanz eines vom Client aktivierten Typs zu erstellen, konfigurieren Clients die Anwendung entweder programmgesteuert (oder mit einer Konfigurationsdatei) und rufen new (New in Visual Basic) auf, oder sie übergeben die Konfiguration des Remoteobjekts in einem Aufruf an Activator.CreateInstance.

Weitere Informationen zum Erstellen einer Instanz eines vom Client aktivierten Typs finden Sie unter Gewusst wie: Erstellen einer Instanz eines vom Client aktivierten Typs.

Weitere Informationen darüber, wie Sie eine Hostanwendung mithilfe einer Konfigurationsdatei konfigurieren, um vom Client aktivierte Typen zu erstellen, finden Sie unter <activated>-Element (Dienstinstanz). Weitere Informationen darüber, wie Sie einen Client mithilfe einer Konfigurationsdatei konfigurieren, um vom Client aktivierte Typen zu verwenden, finden Sie unter <activated>-Element (Clientinstanz).

Siehe auch

Aufgaben

Gewusst wie: Erstellen einer Instanz eines vom Client aktivierten Typs

Konzepte

Aktivierung von Remoteobjekten
Konfiguration von Remoteanwendungen
Serveraktivierung
Lebensdauerleases

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.