System.Runtime.Remoting.Messaging-Namespace
Der System.Runtime.Remoting.Messaging-Namespace enthält Klassen zum Erstellen und Übermitteln von Meldungen. Die Remoteinfrastruktur verwendet Meldungen für die Kommunikation mit Remoteobjekten. Meldungen übertragen Remotemethodenaufrufe, aktivieren Remoteobjekte und übermitteln Informationen. Ein Meldungsobjekt enthält eine Gruppe benannter Eigenschaften, u. a. Aktionsbezeichner, Boteninformationen und Parameter. Die Klassen AsyncResult, RemotingSurrogateSelector und ReturnMessage zählen zu den wichtigsten Klassen des System.Runtime.Remoting.Messaging-Namespaces.
Die AsyncResult-Klasse speichert die Ergebnisse eines asynchronen Methodenaufrufs und gibt sie zurück. Die AsyncResult-Instanzen enthalten den return-Wert, den Aufrufstatus, den für den Aufruf verwendeten Delegaten und alle anderen Informationen zum asynchronen Methodenaufruf.
Mit der RemotingSurrogateSelector-Klasse kann die Serialisierung der Objekte gesteuert werden, die MarshalByRefObject erweitern. Ein RemotingSurrogateSelector wählt den für die Serialisierung und Deserialisierung dieser Objekte verwendeten Ersatz aus. Bei einem Ersatz handelt es sich um ein Objekt, das die Serialisierung und Deserialisierung eines Objekts steuern kann.
Die ReturnMessage-Klasse enthält Informationen, die nach einem Remotemethodenaufruf zurückgegeben werden. Eine ReturnMessage enthält den return-Wert und alle out-Parameter oder ref-Parameter, die das Ergebnis des Remotemethodenaufrufs bilden.
Klassen
Klasse | Beschreibung | |
---|---|---|
AsyncResult | Kapselt die Ergebnisse einer asynchronen Operation für einen asynchronen Delegaten. | |
CallContext | Stellt eine Gruppe von Eigenschaften bereit, die über den Codeausführungspfad weitergegeben werden. Diese Klasse kann nicht vererbt werden. | |
ConstructionCall | Implementiert die IConstructionCallMessage-Schnittstelle, um eine Anforderungsmeldung zu erstellen, die einen Konstruktoraufruf für ein Remoteobjekt bildet. | |
ConstructionResponse | Implementiert die IConstructionReturnMessage-Schnittstelle, um eine Meldung als Antwort auf den Aufruf zum Instanziieren eines Remoteobjekts zu erstellen. | |
Header | Definiert die Out-of-Band-Daten eines Aufrufs. | |
InternalMessageWrapper | Schließt Remotingdaten für die Übergabe zwischen Meldungssenken ein. Diese können für Anforderungen vom Client an den Server oder für die nachfolgenden Antworten verwendet werden. | |
LogicalCallContext | Stellt eine Gruppe von Eigenschaften bereit, die bei Remotemethodenaufrufen über den Codeausführungspfad weitergegeben werden. | |
MethodCall | Implementiert die IMethodCallMessage-Schnittstelle, um eine Anforderungsmeldung zu erstellen, die als Methodenaufruf für ein Remoteobjekt fungiert. | |
MethodCallMessageWrapper | Implementiert die IMethodCallMessage-Schnittstelle, um eine Anforderungsmeldung zu erstellen, die als Methodenaufruf für ein Remoteobjekt fungiert. | |
MethodResponse | Implementiert die IMethodReturnMessage-Schnittstelle, um eine Meldung zu erstellen, die als Methodenantwort für ein Remoteobjekt fungiert. | |
MethodReturnMessageWrapper | Implementiert die IMethodReturnMessage-Schnittstelle, um eine Meldung zu erstellen, die als Antwort auf einen Methodenaufruf für ein Remoteobjekt fungiert. | |
OneWayAttribute | Kennzeichnet eine Methode als unidirektional, also als Methode ohne einen Rückgabewert und ohne out-Parameter oder ref-Parameter. | |
RemotingSurrogateSelector | Wählt den Remoteersatz aus, der zum Serialisieren eines Objekts verwendet werden kann, das von einem MarshalByRefObject abgeleitet ist. | |
ReturnMessage | Enthält eine Meldung, die als Reaktion auf einen Methodenaufruf für ein Remoteobjekt zurückgegeben wird. |
Schnittstellen
Schnittstelle | Beschreibung | |
---|---|---|
ILogicalThreadAffinative | Markiert ein Objekt, das Objekte außerhalb einer AppDomain in einem LogicalCallContext verbreiten kann. | |
IMessage | Enthält Kommunikationsdaten, die zwischen zusammenwirkenden Meldungsempfängern hin- und hergesendet werden. | |
IMessageCtrl | Bietet eine Möglichkeit zum Steuern asynchroner Meldungen, nachdem diese mithilfe von IMessageSink.AsyncProcessMessage gesendet wurden. | |
IMessageSink | Definiert die Schnittstelle für einen Meldungsempfänger. | |
IMethodCallMessage | Definiert die Meldungsschnittstelle für Methodenaufrufe. | |
IMethodMessage | Definiert die Schnittstelle für Methodenmeldungen. | |
IMethodReturnMessage | Definiert die Rückgabemeldungsschnittstelle für Methodenaufrufe. | |
IRemotingFormatter | Stellt die Schnittstelle für Remoteprozeduraufrufe (RPC) für alle Formatierungsprogramme bereit. |
Delegaten
Delegat | Beschreibung | |
---|---|---|
HeaderHandler | Stellt die Methode dar, die bei der Deserialisierung die Verarbeitung von Headern für den Stream behandelt. | |
MessageSurrogateFilter | Bestimmt, ob die RemotingSurrogateSelector-Klasse beim Erstellen einer ObjRef für eine MarshalByRefObject-Klasse eine bestimmte IMessage-Eigenschaft ignorieren soll. |