DispatchRuntime Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Expõe propriedades que podem ser usadas para modificar o comportamento padrão dos serviços, bem como para anexar objetos personalizados que podem modificar a forma como as mensagens recebidas são transformadas em objetos e enviadas para operações. Esta 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
Observações
Use a DispatchRuntime classe quer para modificar o comportamento padrão de um serviço ou endpoint individual, quer para inserir objetos que implementem modificações personalizadas em um ou ambos os seguintes processos de serviço:
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.
A transformação de objetos recebidos da resposta a uma invocação de operação de serviço em mensagens de saída.
No Windows Communication Foundation (WCF), os despachantes do canal e dos endpoints são os componentes de serviço responsáveis por aceitar novos canais, receber mensagens, despachar e invocar métodos, e processar respostas. Cada ponto final exposto por um ServiceHost objeto tem um despachante de endpoint e um despachante de canal associado; além disso, cada cliente que participa na comunicação duplex também tem um despachante de endpoint e um despachante de canal para cada endpoint de callback.
O DispatchRuntime permite-lhe interceptar e estender o canal ou o despachante de endpoints para todas as mensagens num contrato específico, mesmo quando uma mensagem não é reconhecida. Quando chega uma mensagem que não corresponde a nenhuma das mensagens declaradas no contrato, ela é enviada para a operação que foi devolvida pela UnhandledDispatchOperation propriedade. Para intercetar ou estender todas as mensagens de uma operação específica, consulte a DispatchOperation classe.
Existem quatro áreas principais de extensibilidade do despachante expostas pela DispatchRuntime classe:
Os componentes de despacho utilizam as propriedades do DispatchRuntime e das do despachante de canal associado devolvidas pela ChannelDispatcher propriedade para personalizar como o despachante de canal aceita e fecha os canais. Esta categoria inclui as ChannelInitializers propriedades e InputSessionShutdownHandlers .
Os componentes da mensagem são personalizados para cada mensagem processada. Esta categoria inclui o MessageInspectors, OperationSelector, Operations, e as 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 ciclo de vida dos objetos de serviço, consulte a propriedade InstanceContextMode. Esta categoria inclui as InstanceContextInitializers e as 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 impersonar usando as credenciais fornecidas pela mensagem de entrada.
MessageAuthenticationAuditLevel Controla se os eventos de autenticação de mensagem bem-sucedida são gravados no log de eventos especificado pelo 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 que ocorrem durante o processo de registro em log devem ser suprimidas.
Normalmente, objetos de extensão personalizados são atribuídos a uma DispatchRuntime propriedade ou inseridos numa 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 endpoint (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 do aplicativo.
Propriedades
| Name | Description |
|---|---|
| AutomaticInputSessionShutdown |
Recebe 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 Windows Communication Foundation (WCF) para chamadas de saída para um endpoint de callback duplex. |
| ChannelDispatcher |
Obtém o ChannelDispatcher para este objeto de execução de despacho. |
| ConcurrencyMode |
Obtém ou define se uma instância de um serviço processa mensagens sequencialmente ou simultaneamente. |
| EndpointDispatcher |
Obtém o EndpointDispatcher tempo de execução deste despacho. |
| EnsureOrderedDispatch |
Recebe um valor que indica se as mensagens devem ser enviadas pela ordem em que foram enviadas. |
| ExternalAuthorizationPolicies |
Obtém ou define as políticas de autorização externas que definem um conjunto de regras para autorizar um utilizador, dado um conjunto de reivindicações. |
| IgnoreTransactionMessageProperty |
Obtém ou define se deve ignorar o TransactionMessageProperty. |
| ImpersonateCallerForAllOperations |
Recebe ou define um valor que controla se o serviço tenta fazer-se passar usando as credenciais fornecidas pela mensagem recebida. |
| ImpersonateOnSerializingReply |
Obtém um valor que indica se a personificação é usada na operação de resposta serializada. |
| InputSessionShutdownHandlers |
Obtém uma coleção de IInputSessionShutdown objetos que podem ser usados para adicionar um handler personalizado que controla como as sessões de entrada são encerradas. |
| InstanceContextInitializers |
Obtém uma coleção de IInstanceContextInitializer objetos que podem ser usados para inspecionar ou modificar um InstanceContext objeto quando este é criado pela primeira vez. |
| InstanceContextProvider |
Obtém ou define o IInstanceContextProvider a ser usado pelo DispatchRuntime. |
| InstanceProvider |
Obtém ou define um IInstanceProvider objeto que podes 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 mensagens bem-sucedidos são escritos no registo de eventos especificado por SecurityAuditLogLocation. |
| MessageInspectors |
Obtém uma coleção de IDispatchMessageInspector objetos que podem ser usados para anexar um inspetor de mensagens personalizado para todas as mensagens de entrada e saída no endpoint. |
| Operations |
Obtém uma coleção de DispatchOperation objetos que podem ser usados para controlar o comportamento de execução de uma determinada operação. |
| OperationSelector |
Obtém ou define o IDispatchOperationSelector objeto que controla a seleção de um destino DispatchOperation para uma determinada mensagem. |
| PreserveMessage |
Obtém ou define se a mensagem é preservada. |
| PrincipalPermissionMode |
Recebe ou define um valor que especifica como a CurrentPrincipal propriedade é definida. |
| ReleaseServiceInstanceOnTransactionComplete |
Recebe ou define um valor que especifica se o objeto de serviço é reciclado após a conclusão da transação com sucesso. |
| RoleProvider |
Obtém ou define o costume RoleProvider que é usado pelo DispatchRuntime. |
| SecurityAuditLogLocation |
Obtém ou define a localização do registo de auditoria. |
| ServiceAuthenticationManager |
Obtém ou define o objeto que gere um processo de autenticação para operações de serviço. |
| ServiceAuthorizationAuditLevel |
Recebe ou define um valor que controla quais os eventos de autorização de serviço que são auditados. |
| ServiceAuthorizationManager |
Obtém-se o ServiceAuthorizationManager que fornece verificação de autorização para o DispatchRuntime. |
| SingletonInstanceContext |
Obtém ou define o singleton IInstanceContextProvider a ser usado pelo DispatchRuntime. |
| SuppressAuditFailure |
Recebe ou define um valor que especifica se deve suprimir exceções não críticas que ocorrem durante o processo de registo. |
| SynchronizationContext |
Obtém ou define o contexto de sincronização que é usado para invocar as operações de serviço. |
| TransactionAutoCompleteOnSessionClose |
Recebe ou define um valor que especifica se deve concluir automaticamente a transação atual quando a sessão termina. |
| 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 enviadas. |
| ValidateMustUnderstand |
Obtém ou define o valor de ValidateMustUnderstand. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |