DispatchRuntime 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.
Espone proprietà che possono essere utilizzate per modificare il comportamento predefinito del servizio oltre che per collegare oggetti personalizzati in grado di modificare la modalità di trasformazione in oggetti e di invio alle operazioni dei messaggi in arrivo. La classe non può essere ereditata.
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- Ereditarietà
-
DispatchRuntime
Commenti
Utilizzare la classe DispatchRuntime per modificare il comportamento predefinito di un servizio o di un endpoint singolo oppure per inserire oggetti che implementano modifiche personalizzate in uno o in entrambi i processi del servizio seguenti:
Trasformazione di messaggi in arrivo in oggetti e rilascio di tali oggetti come chiamate al metodo su un oggetto servizio.
Trasformazione di oggetti ricevuti dalla risposta a una chiamata a operazioni del servizio in messaggi in uscita.
In Windows Communication Foundation (WCF), i dispatcher di canale ed endpoint sono i componenti del servizio responsabili dell'accettazione di nuovi canali, ricezione di messaggi, invio di metodi e chiamata e elaborazione delle risposte. Ogni endpoint esposto da un oggetto ServiceHost dispone di un dispatcher dell'endpoint e di un dispatcher del canale associato; in aggiunta, ogni client che partecipa a comunicazioni duplex dispone di un dispatcher dell'endpoint e di un dispatcher del canale per ogni endpoint di callback.
DispatchRuntime consente di intercettare ed estendere il dispatcher del canale o dell'endpoint per tutti i messaggi di un particolare contratto, anche quando un messaggio non viene riconosciuto. Quando arriva un messaggio che non corrisponde a un messaggio dichiarato nel contratto, viene inviato all'operazione restituita dalla proprietà UnhandledDispatchOperation. Per l'intercettazione o l'estensione in tutti i messaggi relativi a una particolare operazione, vedere la classe DispatchOperation.
Sono presenti quattro aree principali di estendibilità del dispatcher esposto dalla classe DispatchRuntime:
I componenti di distribuzione utilizzano le proprietà di DispatchRuntime e quelle del dispatcher del canale associato, restituito dalla proprietà ChannelDispatcher, per personalizzare la modalità utilizzata dal dispatcher del canale per accettare e chiudere canali. In questa categoria sono incluse le proprietà ChannelInitializers e InputSessionShutdownHandlers.
I componenti dei messaggi vengono personalizzati per ogni messaggio elaborato. In questa categoria sono incluse le proprietà MessageInspectors, OperationSelector, Operations e ErrorHandlers.
I componenti dell'istanza personalizzano la creazione, la durata e l'eliminazione di istanze del tipo di servizio. Per altre informazioni sulle durate degli oggetti di servizio, vedere la proprietà InstanceContextMode. In questa categoria sono incluse le proprietà InstanceContextInitializers e InstanceProvider.
I componenti correlati alla protezione possono usare le proprietà seguenti:
SecurityAuditLogLocation indica dove vengono scritti gli eventi di controllo.
ImpersonateCallerForAllOperations controlla se il servizio tenta di eseguire una rappresentazione usando le credenziali fornite dal messaggio in ingresso.
MessageAuthenticationAuditLevel controlla se nel registro eventi specificato da SecurityAuditLogLocation vengono scritti eventi di autenticazione riuscita dei messaggi.
PrincipalPermissionMode controlla le modalità di impostazione della proprietà CurrentPrincipal.
ServiceAuthorizationAuditLevelspecifica le modalità di esecuzione del controllo degli eventi di autorizzazione.
SuppressAuditFailure specifica se sopprimere le eccezioni non critiche che si verificano durante il processo di registrazione.
In genere gli oggetti di estensione personalizzati vengono assegnati a una proprietà DispatchRuntime o inseriti in una raccolta da un comportamento del servizio (un oggetto che implementa IServiceBehavior), un comportamento del contratto (un oggetto che implementa IContractBehavior) o un comportamento dell'endpoint (un oggetto che implementa IEndpointBehavior). L'oggetto del comportamento da installare viene quindi aggiunto alla raccolta appropriata di comportamenti a livello di programmazione o implementando un oggetto BehaviorExtensionElement personalizzato per consentire l'inserimento del comportamento usando un file di configurazione dell'applicazione.
Proprietà
AutomaticInputSessionShutdown |
Ottiene o imposta un valore che specifica se il servizio chiude una sessione di input quando la chiude il client. |
CallbackClientRuntime |
Ottiene l'oggetto ClientRuntime che rappresenta il punto di installazione per le estensioni in Windows Communication Foundation (WCF) per le chiamate in uscita a un endpoint di callback duplex. |
ChannelDispatcher |
Ottiene l'oggetto ChannelDispatcher per questo oggetto runtime di distribuzione. |
ConcurrencyMode |
Ottiene o imposta se un'istanza di un servizio elabora i messaggi in sequenza o contemporaneamente. |
EndpointDispatcher |
Ottiene l'oggetto EndpointDispatcher per questo runtime di distribuzione. |
EnsureOrderedDispatch |
Ottiene un valore che specifica se è garantito l'invio dei messaggi nell'ordine in cui sono stati inviati. |
ExternalAuthorizationPolicies |
Ottiene o imposta i criteri di autorizzazione esterni che definiscono un set di regole per l'autorizzazione di un utente, dato un set di attestazioni. |
IgnoreTransactionMessageProperty |
Ottiene o imposta se ignorare TransactionMessageProperty. |
ImpersonateCallerForAllOperations |
Ottiene o imposta un valore che controlla se il servizio tenta di eseguire la rappresentazione utilizzando le credenziali fornite dal messaggio in ingresso. |
ImpersonateOnSerializingReply |
Ottiene un valore che indica se la rappresentazione viene utilizzata nell'operazione di serializzazione della risposta. |
InputSessionShutdownHandlers |
Ottiene una raccolta di oggetti IInputSessionShutdown utilizzabili per aggiungere un gestore personalizzato per controllare le modalità di chiusura delle sessioni di input. |
InstanceContextInitializers |
Ottiene una raccolta di oggetti IInstanceContextInitializer utilizzabili per controllare o modificare un oggetto InstanceContext quando viene creato inizialmente. |
InstanceContextProvider |
Ottiene o imposta l'oggetto IInstanceContextProvider che viene utilizzato da DispatchRuntime. |
InstanceProvider |
Ottiene o imposta un oggetto IInstanceProvider utilizzabile per controllare la creazione e la distruzione di oggetti servizio. |
MessageAuthenticationAuditLevel |
Ottiene o imposta un valore che specifica se gli eventi di autenticazione riuscita dei messaggi debbano essere scritti nel registro eventi specificato da SecurityAuditLogLocation. |
MessageInspectors |
Ottiene una raccolta di oggetti IDispatchMessageInspector utilizzabili per collegare un controllo dei messaggi personalizzato per tutti i messaggi in ingresso e in uscita dall'endpoint. |
Operations |
Ottiene una raccolta di oggetti DispatchOperation utilizzabili per controllare il comportamento dell'esecuzione di una determinata operazione |
OperationSelector |
Ottiene o imposta l'oggetto IDispatchOperationSelector che controlla la selezione di una destinazione DispatchOperation per un particolare messaggio. |
PreserveMessage |
Ottiene o imposta un valore che indica se il messaggio viene conservato. |
PrincipalPermissionMode |
Ottiene o imposta un valore che specifica come viene impostata la proprietà CurrentPrincipal. |
ReleaseServiceInstanceOnTransactionComplete |
Ottiene o imposta un valore che specifica se l'oggetto servizio viene riciclato dopo che la transazione è stata completata correttamente. |
RoleProvider |
Ottiene o imposta l'oggetto RoleProvider personalizzato, utilizzato da DispatchRuntime. |
SecurityAuditLogLocation |
Ottiene o imposta il percorso del registro di controllo. |
ServiceAuthenticationManager |
Ottiene o imposta l'oggetto che gestisce un processo di autenticazione per le operazioni del servizio. |
ServiceAuthorizationAuditLevel |
Ottiene o imposta un valore che controlla quali eventi di autorizzazione del servizio vengono controllati. |
ServiceAuthorizationManager |
Ottiene l'oggetto ServiceAuthorizationManager che fornisce il controllo delle autorizzazioni per DispatchRuntime. |
SingletonInstanceContext |
Ottiene o imposta il singleton IInstanceContextProvider che viene utilizzato da DispatchRuntime. |
SuppressAuditFailure |
Ottiene o specifica se sopprimere le eccezioni non critiche che si verificano durante il processo di registrazione. |
SynchronizationContext |
Ottiene o imposta il contesto di sincronizzazione utilizzato per richiamare le operazioni del servizio. |
TransactionAutoCompleteOnSessionClose |
Ottiene o imposta un valore che specifica se completare automaticamente la transazione corrente alla chiusura della sessione. |
Type |
Ottiene o imposta il tipo di contratto. |
UnhandledDispatchOperation |
Ottiene o imposta l'operazione alla quale vengono inviati i messaggi non riconosciuti. |
ValidateMustUnderstand |
Ottiene o imposta il valore di ValidateMustUnderstand. |
Metodi
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) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |