DispatchRuntime Classe

Definizione

Espone proprietà che possono essere usate 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.Exposes properties that can be used to modify default service behavior as well as attach custom objects that can modify how incoming messages are transformed into objects and dispatched to operations. Questa classe non può essere ereditata.This class cannot be inherited.

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:Use the DispatchRuntime class either to modify the default behavior of a service or individual endpoint, or to insert objects that implement custom modifications to one or both of the following service processes:

  1. Trasformazione di messaggi in arrivo in oggetti e rilascio di tali oggetti come chiamate al metodo su un oggetto servizio.The transformation of incoming messages into objects and releasing those objects as method invocations on a service object.

  2. Trasformazione di oggetti ricevuti dalla risposta a una chiamata a operazioni del servizio in messaggi in uscita.The transformation of objects received from the response to a service operation invocation into outbound messages.

In Windows Communication Foundation (WCF), i dispatcher del canale e dell'endpoint sono i componenti del servizio responsabili dell'accettazione di nuovi canali, della ricezione di messaggi, della distribuzione e della chiamata del metodo e dell'elaborazione delle risposte.In Windows Communication Foundation (WCF), the channel and endpoint dispatchers are the service components responsible for accepting new channels, receiving messages, method dispatch and invocation, and response processing. 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.Each endpoint exposed by a ServiceHost object has one endpoint dispatcher and an associated channel dispatcher; in addition, each client that participates in duplex communication also has an endpoint dispatcher and channel dispatcher for each callback endpoint.

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.The DispatchRuntime enables you to intercept and extend the channel or endpoint dispatcher for all messages across a particular contract, even when a message is not recognized. Quando arriva un messaggio che non corrisponde a un messaggio dichiarato nel contratto, viene inviato all'operazione restituita dalla proprietà UnhandledDispatchOperation.When a message arrives that does not match any messages declared in the contract it is dispatched to the operation that was returned by the UnhandledDispatchOperation property. Per l'intercettazione o l'estensione in tutti i messaggi relativi a una particolare operazione, vedere la classe DispatchOperation.To intercept or extend across all messages for a particular operation, see the DispatchOperation class.

Sono presenti quattro aree principali di estendibilità del dispatcher esposto dalla classe DispatchRuntime:There are four main areas of dispatcher extensibility exposed by the DispatchRuntime class:

  1. 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.Dispatch components use the properties of the DispatchRuntime and those of the associated channel dispatcher returned by the ChannelDispatcher property to customize how the channel dispatcher accepts and closes channels. In questa categoria sono incluse le proprietà ChannelInitializers e InputSessionShutdownHandlers.This category includes the ChannelInitializers and InputSessionShutdownHandlers properties.

  2. I componenti dei messaggi vengono personalizzati per ogni messaggio elaborato.Message components are customized for each message processed. In questa categoria sono incluse le proprietà MessageInspectors, OperationSelector, Operations e ErrorHandlers.This category includes the MessageInspectors, OperationSelector, Operations, and the ErrorHandlers properties.

  3. I componenti dell'istanza personalizzano la creazione, la durata e l'eliminazione di istanze del tipo di servizio.Instance components customize the creation, lifetime, and disposal of instances of the service type. Per altre informazioni sulle durate degli oggetti di servizio, vedere la proprietà InstanceContextMode.For more information about service object lifetimes, see the InstanceContextMode property. In questa categoria sono incluse le proprietà InstanceContextInitializers e InstanceProvider.This category includes the InstanceContextInitializers and the InstanceProvider properties.

  4. I componenti correlati alla protezione possono usare le proprietà seguenti:Security-related components can use the following properties:

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).Typically custom extension objects are assigned to a DispatchRuntime property or inserted into a collection by a service behavior (an object that implements IServiceBehavior), a contract behavior (an object that implements IContractBehavior), or an endpoint behavior (an object that implements 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.Then the installing behavior object is added to the appropriate collection of behaviors either programmatically or by implementing a custom BehaviorExtensionElement object to enable the behavior to be inserted using an application configuration file.

Proprietà

AutomaticInputSessionShutdown

Ottiene o imposta un valore che specifica se il servizio chiude una sessione di input quando la chiude il client.Gets or sets a value that specifies whether the service closes an input session when the client closes an output session.

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.Gets the ClientRuntime object that represents the installation point for extensions to Windows Communication Foundation (WCF) for outbound calls to a duplex callback endpoint.

ChannelDispatcher

Ottiene l'oggetto ChannelDispatcher per questo oggetto runtime di distribuzione.Gets the ChannelDispatcher for this dispatch run-time object.

ConcurrencyMode

Ottiene o imposta se un'istanza di un servizio elabora i messaggi in sequenza o contemporaneamente.Gets or sets whether an instance of a service processes messages sequentially or concurrently.

EndpointDispatcher

Ottiene l'oggetto EndpointDispatcher per questo runtime di distribuzione.Gets the EndpointDispatcher for this dispatch runtime.

EnsureOrderedDispatch

Ottiene un valore che specifica se è garantito l'invio dei messaggi nell'ordine in cui sono stati inviati.Gets a value that indicates whether messages are to be dispatched in the order they were sent.

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.Gets or sets the external authorization policies that define a set of rules for authorizing a user, given a set of claims.

IgnoreTransactionMessageProperty

Ottiene o imposta se ignorare TransactionMessageProperty.Gets or sets whether to ignore the 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.Gets or sets a value that controls whether the service attempts to impersonate using the credentials provided by the incoming message.

ImpersonateOnSerializingReply

Ottiene un valore che indica se la rappresentazione viene utilizzata nell'operazione di serializzazione della risposta.Gets a value that indicates whether impersonation is used on serializing reply operation.

InputSessionShutdownHandlers

Ottiene una raccolta di oggetti IInputSessionShutdown utilizzabili per aggiungere un gestore personalizzato per controllare le modalità di chiusura delle sessioni di input.Gets a collection of IInputSessionShutdown objects that can be used to add a custom handler to control how input sessions are closed.

InstanceContextInitializers

Ottiene una raccolta di oggetti IInstanceContextInitializer utilizzabili per controllare o modificare un oggetto InstanceContext quando viene creato inizialmente.Gets a collection of IInstanceContextInitializer objects that can be used to inspect or modify an InstanceContext object when it is first created.

InstanceContextProvider

Ottiene o imposta l'oggetto IInstanceContextProvider che viene utilizzato da DispatchRuntime.Gets or sets the IInstanceContextProvider to be used by the DispatchRuntime.

InstanceProvider

Ottiene o imposta un oggetto IInstanceProvider utilizzabile per controllare la creazione e la distruzione di oggetti servizio.Gets or sets an IInstanceProvider object that you can use to control the creation and destruction of service objects.

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.Gets or sets a value that specifies whether successful message authentication events are written to the event log specified by 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.Gets a collection of IDispatchMessageInspector objects that can be used to attach a custom message inspector for all incoming and outgoing messages across the endpoint.

Operations

Ottiene una raccolta di oggetti DispatchOperation utilizzabili per controllare il comportamento dell'esecuzione di una determinata operazioneGets a collection of DispatchOperation objects that can be used to control the execution behavior of a particular operation.

OperationSelector

Ottiene o imposta l'oggetto IDispatchOperationSelector che controlla la selezione di una destinazione DispatchOperation per un particolare messaggio.Gets or sets the IDispatchOperationSelector object that controls the selection of a destination DispatchOperation for a particular message.

PreserveMessage

Ottiene o imposta un valore che indica se il messaggio viene conservato.Gets or sets whether the message is preserved.

PrincipalPermissionMode

Ottiene o imposta un valore che specifica come viene impostata la proprietà CurrentPrincipal.Gets or sets a value that specifies how the CurrentPrincipal property is set.

ReleaseServiceInstanceOnTransactionComplete

Ottiene o imposta un valore che specifica se l'oggetto servizio viene riciclato dopo che la transazione è stata completata correttamente.Gets or sets a value that specifies whether the service object is recycled after the transaction successfully completes.

RoleProvider

Ottiene o imposta l'oggetto RoleProvider personalizzato, utilizzato da DispatchRuntime.Gets or sets the custom RoleProvider that is used by the DispatchRuntime.

SecurityAuditLogLocation

Ottiene o imposta il percorso del registro di controllo.Gets or sets the location of the audit log.

ServiceAuthenticationManager

Ottiene o imposta l'oggetto che gestisce un processo di autenticazione per le operazioni del servizio.Gets or sets the object that manages an authentication process for service operations.

ServiceAuthorizationAuditLevel

Ottiene o imposta un valore che controlla quali eventi di autorizzazione del servizio vengono controllati.Gets or sets a value that controls what service authorization events are audited.

ServiceAuthorizationManager

Ottiene l'oggetto ServiceAuthorizationManager che fornisce il controllo delle autorizzazioni per DispatchRuntime.Gets the ServiceAuthorizationManager that provides authorization checking for the DispatchRuntime.

SingletonInstanceContext

Ottiene o imposta il singleton IInstanceContextProvider che viene utilizzato da DispatchRuntime.Gets or sets the singleton IInstanceContextProvider to be used by the DispatchRuntime.

SuppressAuditFailure

Ottiene o specifica se sopprimere le eccezioni non critiche che si verificano durante il processo di registrazione.Gets or sets a value that specifies whether to suppress non-critical exceptions that occur during the logging process.

SynchronizationContext

Ottiene o imposta il contesto di sincronizzazione utilizzato per richiamare le operazioni del servizio.Gets or sets the synchronization context that is used to invoke the service operations.

TransactionAutoCompleteOnSessionClose

Ottiene o imposta un valore che specifica se completare automaticamente la transazione corrente alla chiusura della sessione.Gets or sets a value that specifies whether to automatically complete the current transaction when the session closes.

Type

Ottiene o imposta il tipo di contratto.Gets or sets the contract type.

UnhandledDispatchOperation

Ottiene o imposta l'operazione alla quale vengono inviati i messaggi non riconosciuti.Gets or sets the operation to which unrecognized messages are dispatched.

ValidateMustUnderstand

Ottiene o imposta il valore di ValidateMustUnderstand.Gets or sets the value of ValidateMustUnderstand.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a