DispatchRuntime Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. Essa classe não pode ser herdada.
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- Herança
-
DispatchRuntime
Comentários
Use a DispatchRuntime classe 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 ambos os seguintes processos de serviço:
A transformação de mensagens de entrada em objetos e liberação desses objetos como invocações de método em um objeto de serviço.
A transformação de objetos recebidos da resposta a uma invocação de operação de serviço em mensagens de saída.
No WCF (Windows Communication Foundation), os dispatchers de canal e ponto de extremidade são os componentes de serviço responsáveis por aceitar novos canais, receber mensagens, expedição e invocação de métodos e processamento de resposta. Cada ponto de extremidade exposto por um objeto tem um ServiceHost 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.
Permite DispatchRuntime interceptar e estender o dispatcher de canal ou ponto de extremidade para todas as mensagens em um contrato específico, mesmo quando uma mensagem não é reconhecida. Quando uma mensagem chega que não corresponde a nenhuma mensagem declarada no contrato, ela é enviada para a operação que foi retornada pela UnhandledDispatchOperation propriedade. Para interceptar ou estender todas as mensagens para uma determinada operação, consulte a DispatchOperation classe.
Há quatro áreas principais de extensibilidade do dispatcher expostas pela DispatchRuntime classe:
Os componentes de expedição usam as propriedades e DispatchRuntime as do dispatcher de canal associado retornados pela ChannelDispatcher propriedade para personalizar como o dispatcher de canal aceita e fecha canais. Essa categoria inclui as propriedades e InputSessionShutdownHandlers as ChannelInitializers propriedades.
Os componentes de mensagem são personalizados para cada mensagem processada. Essa categoria inclui o MessageInspectors, OperationSelectore Operationsas ErrorHandlers propriedades.
Os componentes de instância personalizam a criação, o tempo de vida e o descarte de instâncias do tipo de serviço. Para obter mais informações sobre o tempo de vida do objeto de serviço, consulte a InstanceContextMode propriedade. Essa categoria inclui as propriedades e as InstanceContextInitializers InstanceProvider propriedades.
Os componentes relacionados à segurança podem usar as seguintes propriedades:
SecurityAuditLogLocation indica onde os eventos de auditoria são gravados.
ImpersonateCallerForAllOperations controla se o serviço tenta representar usando as credenciais fornecidas pela mensagem de entrada.
MessageAuthenticationAuditLevel controla se eventos de autenticação de mensagem bem-sucedidos são gravados no log de eventos especificado por SecurityAuditLogLocation.
PrincipalPermissionMode controla como a CurrentPrincipal propriedade é definida.
ServiceAuthorizationAuditLevel especifica como a auditoria de eventos de autorização é executada.
SuppressAuditFailure especifica se as exceções não críticas ocorrem durante o processo de registro em log.
Normalmente, objetos de extensão personalizados são atribuídos a uma DispatchRuntime propriedade 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). Em seguida, o objeto de comportamento de instalação é adicionado à coleção apropriada de comportamentos programaticamente ou implementando um objeto personalizado BehaviorExtensionElement para permitir que o comportamento seja inserido usando um arquivo de configuração de aplicativo.
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. |
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. |
ChannelDispatcher |
Obtém o ChannelDispatcher para este objeto de tempo de execução de expedição. |
ConcurrencyMode |
Obtém ou define se uma instância de um serviço processa mensagens consecutivamente ou simultaneamente. |
EndpointDispatcher |
Obtém o EndpointDispatcher para este runtime de expedição. |
EnsureOrderedDispatch |
Obtém um valor que indica se as mensagens devem ser expedidas na ordem em que foram enviadas. |
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. |
IgnoreTransactionMessageProperty |
Obtém ou define se deve ignorar o TransactionMessageProperty. |
ImpersonateCallerForAllOperations |
Obtém ou define um valor que controla se o serviço tentará representar usando as credenciais fornecidas pela mensagem de entrada. |
ImpersonateOnSerializingReply |
Obtém um valor que indica se a representação é usada na operação de resposta de serialização. |
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. |
InstanceContextInitializers |
Obtém uma coleção de objetos IInstanceContextInitializer que podem ser usados para inspecionar ou modificar um objeto InstanceContext quando ele é criado. |
InstanceContextProvider |
Obtém ou define o IInstanceContextProvider a ser usado pelo 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. |
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. |
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. |
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. |
OperationSelector |
Obtém ou define o objeto IDispatchOperationSelector que controla a seleção de uma DispatchOperation de destino para uma mensagem específica. |
PreserveMessage |
Obtém ou define se a mensagem é preservada. |
PrincipalPermissionMode |
Obtém ou define um valor que especifica como a propriedade CurrentPrincipal é definida. |
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. |
RoleProvider |
Obtém ou define o RoleProvider personalizado usado pelo DispatchRuntime. |
SecurityAuditLogLocation |
Obtém ou define o local do log de auditoria. |
ServiceAuthenticationManager |
Obtém ou define o objeto que gerencia um processo de autenticação para operações de serviço. |
ServiceAuthorizationAuditLevel |
Obtém ou define um valor que controla quais eventos de autorização de serviço são auditados. |
ServiceAuthorizationManager |
Obtém o ServiceAuthorizationManager que fornece autorização verificando o DispatchRuntime. |
SingletonInstanceContext |
Obtém ou define o IInstanceContextProvider singleton a ser usado pelo 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. |
SynchronizationContext |
Obtém ou define o contexto de sincronização que é usado para invocar as operações de serviço. |
TransactionAutoCompleteOnSessionClose |
Obtém ou define um valor que especifica se deve concluir automaticamente a transação atual quando a sessão fecha. |
Type |
Obtém ou define o tipo de contrato. |
UnhandledDispatchOperation |
Obtém ou define a operação para a qual as mensagens não reconhecidas são expedidas. |
ValidateMustUnderstand |
Obtém ou define o valor de ValidateMustUnderstand. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |