DispatchRuntime Classe

Definição

Expõe propriedades que podem ser usadas para modificar o comportamento de serviço padrão, bem como anexar objetos personalizados que podem modificar as mensagens de entrada são transformadas em objetos e enviadas para operações.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. Essa classe não pode ser herdada.This class cannot be inherited.

public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
Herança
DispatchRuntime

Comentários

Use a classe DispatchRuntime para modificar o comportamento padrão de um serviço ou ponto de extremidade individual ou para inserir objetos que implementam modificações personalizadas em um ou nos dois processos de serviço a seguir: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. A transformação de mensagens de entrada em objetos e a liberação desses objetos como invocações de método em um objeto de serviço.The transformation of incoming messages into objects and releasing those objects as method invocations on a service object.

  2. A transformação de objetos recebidos da resposta a uma invocação de operação de serviço em mensagens de saída.The transformation of objects received from the response to a service operation invocation into outbound messages.

No Windows Communication Foundation (WCF), os despachantes de canal e ponto de extremidade são os componentes de serviço responsáveis por aceitar novos canais, receber mensagens, expedição de método e invocação e processamento de resposta.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. Cada ponto de extremidade exposto por um objeto ServiceHost tem um Dispatcher de ponto de extremidade e um Dispatcher de canal associado; Além disso, cada cliente que participa da comunicação duplex também tem um Dispatcher de ponto de extremidade e um Dispatcher de canal para cada ponto de extremidade de retorno de chamada.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.

O DispatchRuntime permite interceptar e estender o canal ou Dispatcher de ponto de extremidade para todas as mensagens em um determinado contrato, mesmo quando uma mensagem não é reconhecida.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 uma mensagem chega, que não corresponde a quaisquer mensagens declaradas no contrato, ela é expedida para a operação que foi retornada pela propriedade 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. Para interceptar ou estender todas as mensagens para uma operação específica, consulte a classe DispatchOperation.To intercept or extend across all messages for a particular operation, see the DispatchOperation class.

Há quatro áreas principais da extensibilidade do Dispatcher expostas pela classe DispatchRuntime:There are four main areas of dispatcher extensibility exposed by the DispatchRuntime class:

  1. Os componentes de expedição usam as propriedades do DispatchRuntime e os do dispatcher do canal associado retornado pela propriedade ChannelDispatcher para personalizar como o Dispatcher do canal aceita e fecha os canais.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. Essa categoria inclui as propriedades ChannelInitializers e InputSessionShutdownHandlers.This category includes the ChannelInitializers and InputSessionShutdownHandlers properties.

  2. Os componentes de mensagem são personalizados para cada mensagem processada.Message components are customized for each message processed. Essa categoria inclui as propriedades MessageInspectors, OperationSelector, Operations e ErrorHandlers.This category includes the MessageInspectors, OperationSelector, Operations, and the ErrorHandlers properties.

  3. Os componentes de instância personalizam a criação, o tempo de vida e a alienação de instâncias do tipo de serviço.Instance components customize the creation, lifetime, and disposal of instances of the service type. Para obter mais informações sobre tempos de vida de objeto de serviço, consulte a propriedade InstanceContextMode.For more information about service object lifetimes, see the InstanceContextMode property. Essa categoria inclui as propriedades InstanceContextInitializers e InstanceProvider.This category includes the InstanceContextInitializers and the InstanceProvider properties.

  4. Os componentes relacionados à segurança podem usar as seguintes propriedades:Security-related components can use the following properties:

Normalmente, os objetos de extensão personalizados são atribuídos a uma propriedade DispatchRuntime ou inseridos em uma coleção por um comportamento de serviço (um objeto que implementa IServiceBehavior), um comportamento de contrato (um objeto que implementa IContractBehavior) ou um comportamento de ponto de extremidade (um objeto que 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). Em seguida, o objeto de comportamento de instalação é adicionado à coleção apropriada de comportamentos de forma programática ou implementando um objeto BehaviorExtensionElement personalizado para permitir que o comportamento seja inserido usando um arquivo de configuração de aplicativo.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.

Propriedades

AutomaticInputSessionShutdown

Obtém ou define um valor que especifica se o serviço fecha uma sessão de entrada quando o cliente fecha uma sessão de saída.Gets or sets a value that specifies whether the service closes an input session when the client closes an output session.

CallbackClientRuntime

Obtém o objeto ClientRuntime que representa o ponto de instalação para extensões para o WCF (Windows Communication Foundation) para chamadas de saída a um ponto de extremidade de retorno de chamada 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

Obtém o ChannelDispatcher para este objeto de tempo de execução de expedição.Gets the ChannelDispatcher for this dispatch run-time object.

ConcurrencyMode

Obtém ou define se uma instância de um serviço processa mensagens consecutivamente ou simultaneamente.Gets or sets whether an instance of a service processes messages sequentially or concurrently.

EndpointDispatcher

Obtém o EndpointDispatcher para este tempo de execução de expedição.Gets the EndpointDispatcher for this dispatch runtime.

EnsureOrderedDispatch

Obtém um valor que indica se as mensagens devem ser expedidas na ordem em que foram enviadas.Gets a value that indicates whether messages are to be dispatched in the order they were sent.

ExternalAuthorizationPolicies

Obtém ou define as políticas de autorização externa que definem um conjunto de regras para autorizar um usuário, dado um conjunto de declarações.Gets or sets the external authorization policies that define a set of rules for authorizing a user, given a set of claims.

IgnoreTransactionMessageProperty

Obtém ou define se deve ignorar o TransactionMessageProperty.Gets or sets whether to ignore the TransactionMessageProperty.

ImpersonateCallerForAllOperations

Obtém ou define um valor que controla se o serviço tentará representar usando as credenciais fornecidas pela mensagem de entrada.Gets or sets a value that controls whether the service attempts to impersonate using the credentials provided by the incoming message.

ImpersonateOnSerializingReply

Obtém um valor que indica se a representação é usada na operação de resposta de serialização.Gets a value that indicates whether impersonation is used on serializing reply operation.

InputSessionShutdownHandlers

Obtém uma coleção de objetos IInputSessionShutdown que podem ser usados para adicionar um manipulador personalizado para controlar como sessões de entrada são fechadas.Gets a collection of IInputSessionShutdown objects that can be used to add a custom handler to control how input sessions are closed.

InstanceContextInitializers

Obtém uma coleção de objetos IInstanceContextInitializer que podem ser usados para inspecionar ou modificar um objeto InstanceContext quando ele é criado.Gets a collection of IInstanceContextInitializer objects that can be used to inspect or modify an InstanceContext object when it is first created.

InstanceContextProvider

Obtém ou define o IInstanceContextProvider a ser usado pelo DispatchRuntime.Gets or sets the IInstanceContextProvider to be used by the DispatchRuntime.

InstanceProvider

Obtém ou define um objeto IInstanceProvider que você pode usar para controlar a criação e destruição de objetos de serviço.Gets or sets an IInstanceProvider object that you can use to control the creation and destruction of service objects.

MessageAuthenticationAuditLevel

Obtém ou define um valor que especifica se os eventos de autenticação de mensagem com êxito são gravados no log de eventos especificado pelo SecurityAuditLogLocation.Gets or sets a value that specifies whether successful message authentication events are written to the event log specified by SecurityAuditLogLocation.

MessageInspectors

Obtém uma coleção de objetos IDispatchMessageInspector que podem ser usados para anexar um inspetor de mensagem personalizado para todas as mensagens de entrada e saída através do ponto de extremidade.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

Obtém uma coleção de objetos DispatchOperation que podem ser usados para controlar o comportamento de execução de uma operação específica.Gets a collection of DispatchOperation objects that can be used to control the execution behavior of a particular operation.

OperationSelector

Obtém ou define o objeto IDispatchOperationSelector que controla a seleção de uma DispatchOperation de destino para uma mensagem específica.Gets or sets the IDispatchOperationSelector object that controls the selection of a destination DispatchOperation for a particular message.

PreserveMessage

Obtém ou define se a mensagem é preservada.Gets or sets whether the message is preserved.

PrincipalPermissionMode

Obtém ou define um valor que especifica como a propriedade CurrentPrincipal é definida.Gets or sets a value that specifies how the CurrentPrincipal property is set.

ReleaseServiceInstanceOnTransactionComplete

Obtém ou define um valor que especifica se o objeto de serviço é reciclado depois de uma transação ser concluída com êxito.Gets or sets a value that specifies whether the service object is recycled after the transaction successfully completes.

RoleProvider

Obtém ou define o RoleProvider personalizado usado pelo DispatchRuntime.Gets or sets the custom RoleProvider that is used by the DispatchRuntime.

SecurityAuditLogLocation

Obtém ou define o local do log de auditoria.Gets or sets the location of the audit log.

ServiceAuthenticationManager

Obtém ou define o objeto que gerencia um processo de autenticação para operações de serviço.Gets or sets the object that manages an authentication process for service operations.

ServiceAuthorizationAuditLevel

Obtém ou define um valor que controla quais eventos de autorização de serviço são auditados.Gets or sets a value that controls what service authorization events are audited.

ServiceAuthorizationManager

Obtém o ServiceAuthorizationManager que fornece autorização verificando o DispatchRuntime.Gets the ServiceAuthorizationManager that provides authorization checking for the DispatchRuntime.

SingletonInstanceContext

Obtém ou define o IInstanceContextProvider singleton a ser usado pelo DispatchRuntime.Gets or sets the singleton IInstanceContextProvider to be used by the DispatchRuntime.

SuppressAuditFailure

Obtém ou define um valor que especifica se exceções não críticas que ocorrem durante o processo de registro em log devem ser suprimidas.Gets or sets a value that specifies whether to suppress non-critical exceptions that occur during the logging process.

SynchronizationContext

Obtém ou define o contexto de sincronização que é usado para invocar as operações de serviço.Gets or sets the synchronization context that is used to invoke the service operations.

TransactionAutoCompleteOnSessionClose

Obtém ou define um valor que especifica se deve concluir automaticamente a transação atual quando a sessão fecha.Gets or sets a value that specifies whether to automatically complete the current transaction when the session closes.

Type

Obtém ou define o tipo de contrato.Gets or sets the contract type.

UnhandledDispatchOperation

Obtém ou define a operação para a qual as mensagens não reconhecidas são expedidas.Gets or sets the operation to which unrecognized messages are dispatched.

ValidateMustUnderstand

Obtém ou define o valor de ValidateMustUnderstand.Gets or sets the value of ValidateMustUnderstand.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a