System.Runtime.Remoting-Namespace
Der System.Runtime.Remoting-Namespace stellt Klassen und Schnittstellen bereit, mit denen Entwickler verteilte Anwendungen erstellen und konfigurieren können. Die Klassen RemotingConfiguration, RemotingServices und ObjRef zählen zu den wichtigeren Klassen des System.Runtime.Remoting-Namespaces.
Die RemotingConfiguration-Klasse enthält statische Methoden zur Bereitstellung von Schnittstellen mit Konfigurationseinstellungen. Die RemotingConfiguration.Configure-Methode ermöglicht Entwicklern das Konfigurieren der Remotinginfrastruktur mithilfe von Konfigurationsdateien im XML-Format. Die RemotingConfiguration-Klasse enthält außerdem einige Methoden für die client- und serverseitige Registrierung der vom Client bzw. Server aktivierten Objekte, die sich auf dem Server befinden.
Die RemotingServices-Klasse stellt verschiedene Methoden für die Verwendung und Veröffentlichung von Remoteobjekten zur Verfügung. Die System.Runtime.Remoting.RemotingServices.Marshal-Methode stellt den Funktionsrahmen zum Speichern aller relevanten Informationen bereit, die für die Aktivierung eines Remoteobjekts und die Kommunikation mit diesem in einer Instanz der ObjRef-Klasse erforderlich sind, um sie später serialisieren und an einen Remotespeicherort übertragen zu können. Die System.Runtime.Remoting.RemotingServices.Unmarshal-Methode kehrt diesen Prozess um und erstellt einen Proxy für ein Remoteobjekt, der von einer Anwendung ohne Beachtung von Remote-Untereinheiten verwendet werden kann.
Die ObjRef-Klasse enthält alle relevanten Informationen für die Aktivierung eines Remoteobjekts und die Kommunikation mit diesem. Diese Klasse ist eine serialisierbare Darstellung eines Objekts, das mithilfe eines Channels an einen Remotespeicherort übertragen wird, wo das Marshallen des Objekts rückgängig gemacht (siehe Unmarshal) und mit diesem ein lokaler Proxy des Remoteobjekts erstellt wird.
Hinweis
Marshal-by-reference-Objekte (MBR) verbleiben nicht dauerhaft im Arbeitsspeicher. Stattdessen verfügt jedes MBR-Objekt, sofern der Typ nicht zum Steuern der eigenen Lebensdauerrichtlinien MarshalByRefObject.InitializeLifetimeService überschreibt, über eine festgelegte Lebensdauer. Nach dieser Lebensdauer startet das .NET Framework-Remotingsystem den Vorgang für das Löschen des Objekts und das erneute Bereitstellen des Speichers. Weitere Informationen finden Sie unter Lebensdauerleases.
Klassen
Klasse | Beschreibung | |
---|---|---|
ActivatedClientTypeEntry | Enthält Werte für einen Objekttyp, der auf der Clientseite als Typ registriert ist, der auf dem Server aktiviert werden kann. | |
ActivatedServiceTypeEntry | Enthält Werte für einen Objekttyp, der auf der Dienstseite als solcher registriert ist und auf Anforderung eines Clients aktiviert werden kann. | |
InternalRemotingServices | Definiert Dienstmethoden für die Verwendung durch die .NET Framework-Remotinginfrastruktur. | |
ObjectHandle | Schließt als Wert gemarshallte Objektverweise in einen Wrapper ein, sodass sie durch eine Dereferenzierung zurückgegeben werden können. | |
ObjRef | Speichert alle relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. | |
RemotingConfiguration | Stellt verschiedene statische Methoden zum Konfigurieren der Remotinginfrastruktur bereit. | |
RemotingException | Die Ausnahme, die bei einem Remoting-Fehler ausgelöst wird. | |
RemotingServices | Stellt verschiedene Methoden zum Verwenden und Veröffentlichen von Remoteobjekten und -proxys bereit. Diese Klasse kann nicht vererbt werden. | |
RemotingTimeoutException | Die Ausnahme, die ausgelöst wird, wenn der Server oder der Client nicht innerhalb einer vorher festgelegten Zeitspanne erreicht werden kann. | |
ServerException | Diese Ausnahme wird ausgelöst, um dem Client Fehler zu übermitteln, wenn dieser eine Verbindung mit nicht in .NET Framework erstellten Anwendungen herstellt, die selbst keine Ausnahmen auslösen können. | |
SoapServices | Stellt mehrere Methoden für die Verwendung und Veröffentlichung von Remoteobjekten im SOAP-Format bereit. | |
TypeEntry | Implementiert eine Basisklasse, die die Konfigurationsinformationen zum Aktivieren einer Instanz eines Remotetyps enthält. | |
WellKnownClientTypeEntry | Enthält Werte für einen Objekttyp, der beim Client als vom Server aktivierter Typ (Einzelaufruf oder Singleton) registriert ist. | |
WellKnownServiceTypeEntry | Enthält Werte für einen Objekttyp, der auf der Dienstseite als Objekt eines vom Server aktivierten Typs (Einzelaufruf oder Singleton) registriert ist. |
Schnittstellen
Schnittstelle | Beschreibung | |
---|---|---|
IChannelInfo | Stellt benutzerdefinierte Channelinformationen zur Verfügung, die zusammen mit der ObjRef übertragen werden. | |
IEnvoyInfo | Stellt Boteninformationen bereit. | |
IObjectHandle | Definiert die Schnittstelle zum Entwrappen von als Wert gemarshallten Objekten aus der Dereferenzierung. | |
IRemotingTypeInfo | Stellt Typinformationen für ein Objekt bereit. |
Enumerationen
Enumeration | Beschreibung | |
---|---|---|
CustomErrorsModes | Gibt an, wie benutzerdefinierte Fehler behandelt werden. | |
WellKnownObjectMode | Definiert, auf welche Weise bekannte Objekte aktiviert werden. |