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.
Nota: |
---|
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
Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.