Sdílet prostřednictvím


Verwenden von Aufrufkontext

Durch den Aufrufkontext können ein Remoteclient und ein Remoteobjekt Informationen freigeben, ohne die Informationen explizit als Parameter oder Rückgabewert zu übergeben. Die CallContext-Klasse stellt ein Wörterbuch mit beliebig vielen Objekten bereit, die als serialisierbar markiert sind und die ILogicalThreadAffinative-Schnittstelle implementieren. Objekte werden CallContext durch Aufrufen von SetData hinzugefügt. Objekte werden durch Aufrufen von GetData aus CallContext abgerufen. Objekte können CallContext beim Ausführen der Anwendung jederzeit hinzugefügt werden.

NoteHinweis:

Der Bereich von CallContext wird nach Threads festgelegt. Es gibt ein separates CallContext-Objekt für jeden Thread, der in der Anwendung ausgeführt wird.

Ein Beispiel, in dem die Verwendung des CallContext-Objekts dargestellt wird, finden Sie unter Remotingbeispiel: CallContext.

Bei einem Remoteaufruf wird das CallContext-Objekt in einer Nachricht (IMessage-Implementierung) als "__CallContext" übergeben. Nachrichtenempfänger können der "__CallContext"-Eigenschaft Objekte hinzufügen und Objekte aus der "__CallContext"-Eigenschaft abrufen, während sie die Nachrichtenempfängerkette durchläuft.

Asynchrone Verarbeitung und CallContext

Die BeginInvoke-Methode übergibt CallContext an den Server. Wenn die EndInvoke-Methode aufgerufen wird, werden die in CallContext enthaltenen Daten auf den Thread zurückkopiert, der BeginInvoke aufgerufen hat.

Siehe auch

Konzepte

Remotingbeispiel: CallContext

Weitere Ressourcen

CallContexts und direktes Remoting
Remoting für Fortgeschrittene

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.