Condividi tramite


Utilizzo del contesto di chiamata

Il contesto di chiamata consente a un client .NET Remoting e un oggetto remoto di condividere informazioni senza passare le informazioni in modo esplicito come parametro o valore restituito. La classe CallContext fornisce un dizionario che può contenere un qualsiasi numero di oggetti contrassegnati come serializzabili e implementa l'interfaccia ILogicalThreadAffinative. Gli oggetti sono aggiunti al contesto CallContext chiamando SetData. Gli oggetti vengono recuperati dal contesto CallContext chiamando GetData. È possibile aggiungere oggetti al contesto CallContext in qualsiasi momento durante l'esecuzione dell'applicazione.

NoteNota:

L'ambito del contesto CallContext è il thread. C'è un oggetto CallContext separato per ogni thread in esecuzione nell'applicazione.

Per un esempio che illustra l'utilizzo dell'oggetto CallContext, vedere Esempio di .NET Remoting CallContext.

L'oggetto CallContext viene passato in un messaggio (implementazione di IMessage ) come la proprietà "__CallContext" quando viene effettuata una chiamata remota. I sink di messaggio possono aggiungere e recuperare oggetti dalla proprietà "__CallContext" mentre attraversa la catena del sink dei messaggi.

Elaborazione asincrona e CallContext

Il metodo BeginInvoke passa il contesto CallContext al server. Quando viene chiamato il metodo EndInvoke, i dati contenuti nel contesto CallContext vengono ricopiati nuovamente sul thread che chiama BeginInvoke.

Vedere anche

Concetti

Esempio di .NET Remoting CallContext

Altre risorse

Contesti di chiamata e .NET Remoting diretto
.NET Remoting avanzato

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.