RequestContext Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce una replica correlata a una richiesta in arrivo.
public ref class RequestContext abstract : IDisposable
public abstract class RequestContext : IDisposable
type RequestContext = class
interface IDisposable
Public MustInherit Class RequestContext
Implements IDisposable
- Ereditarietà
-
RequestContext
- Implementazioni
Commenti
Consente di ottenere un contesto di richiesta da un'interfaccia IReplyChannel. Ogni oggetto RequestContext incapsula le informazioni necessarie per rispondere alla richiesta, in modo tale che non sia necessario bloccarsi sul canale nell'attesa di una replica a ogni messaggio di richiesta.
Nel modello di richiesta/risposta l'oggetto RequestContext è il collegamento tra la richiesta in uscita e la risposta in uscita. Quando il server riceve una richiesta, fornisce un'istanza RequestContext che rappresenta la richiesta al canale. Il contesto della richiesta contiene il messaggio di richiesta originale e altre proprietà utili. Questo contesto della richiesta viene quindi collocato nella classe OperationContext per essere recuperato dal servizio. Per accedere alla richiesta dell'operazione corrente si utilizza in genere la proprietà Current.
Il valore della classe RequestContext può essere null
. Poiché il ruolo del contesto della richiesta è quello di collegare le richieste alle repliche, non ha senso disporre di un contesto della richiesta quando non si dispone di una replica, pertanto in questo caso il contesto viene impostato su null
. Per un'operazione unidirezionale all'interno del modello di richiesta/replica, il server riceve le richieste ma non restituisce una risposta al client. Pertanto, se il contesto RequestContext è impostato su null
, verificare prima se il contratto dell'operazione è di tipo IsOneWay.
Nota speciale in caso di derivazione da questa classe in C++ gestito:
Inserire il codice di pulizia in (On)(Begin)Close (e/o OnAbort), non in un distruttore.
Evitare i distruttori: comportano la generazione automatica dell'interfaccia IDisposable da parte del compilatore.
Evitare membri di non riferimento: possono comportare la generazione automatica dell'interfaccia IDisposable da parte del compilatore.
Evitare i finalizzatori. Se tuttavia si include un finalizzatore, è necessario annullare l'avviso di compilazione e chiamare il metodo SuppressFinalize(Object) e il finalizzatore stesso mediante (On)(Begin)Close (e/o OnAbort) al fine di emulare il comportamento dell'interfaccia IDisposable che sarebbe stata generata automaticamente.
Costruttori
RequestContext() |
Inizializza una nuova istanza della classe RequestContext. |
Proprietà
RequestMessage |
Quando sottoposto a override in una classe derivata, ottiene il messaggio che contiene la richiesta. |
Metodi
Abort() |
Quando sottoposto a override in una classe derivata, interrompe l'elaborazione della richiesta associata al contesto. |
BeginReply(Message, AsyncCallback, Object) |
Quando sottoposto a override in una classe derivata, avvia un'operazione asincrona per rispondere alla richiesta associata al contesto corrente. |
BeginReply(Message, TimeSpan, AsyncCallback, Object) |
Quando sottoposto a override in una classe derivata, avvia un'operazione asincrona per rispondere a una richiesta associata al contesto corrente entro un intervallo di tempo specificato. |
Close() |
Quando sottoposto a override in una classe derivata, termina l'operazione di replica al contesto di richiesta associato al contesto corrente. |
Close(TimeSpan) |
Quando sottoposto a override in una classe derivata, termina l'operazione di replica al contesto di replica associato al contesto corrente entro un intervallo di tempo specificato. |
Dispose(Boolean) |
Rilascia le risorse associate al contesto. |
EndReply(IAsyncResult) |
Quando sottoposto a override in una classe derivata, completa un'operazione asincrona per rispondere a un messaggio di richiesta. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Reply(Message) |
Quando sottoposto a override in una classe derivata, risponde a un messaggio di richiesta. |
Reply(Message, TimeSpan) |
Quando sottoposto a override in una classe derivata, risponde a un messaggio di richiesta entro un intervallo di tempo specificato. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IDisposable.Dispose() |
Rilascia sia risorse gestite che non gestite associate al contesto. |