EndpointDispatcher 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.
Representa o objeto em tempo de execução que expõe propriedades que permitem a inserção de extensões ou modificações em tempo de execução para mensagens em aplicações de serviço.
public ref class EndpointDispatcher
public class EndpointDispatcher
type EndpointDispatcher = class
Public Class EndpointDispatcher
- Herança
-
EndpointDispatcher
Exemplos
O exemplo de código seguinte mostra a utilização de EndpointDispatcher para localizar o System.ServiceModel.Dispatcher.DispatchRuntime endpoint e insere um inspetor de mensagens personalizado usando um comportamento de endpoint.
// IEndpointBehavior Members
public void AddBindingParameters(ServiceEndpoint serviceEndpoint, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
{
return;
}
public void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior)
{
behavior.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}
public void ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}
public void Validate(ServiceEndpoint serviceEndpoint)
{
return;
}
Observações
As EndpointDispatcher classes e System.ServiceModel.Dispatcher.DispatchRuntime expõem os pontos de personalização em tempo de execução para endpoints num serviço. Pode EndpointDispatcher ser usado para controlar quais as mensagens que pode processar e alguma informação relacionada com o endpoint. Tem DispatchRuntime um grande número de propriedades usadas para inserir extensões personalizadas no runtime de todo o endpoint.
O EndpointDispatcher objeto é responsável por processar mensagens de a System.ServiceModel.Dispatcher.ChannelDispatcher quando o endereço de destino de uma mensagem corresponde à AddressFilter propriedade e a ação da mensagem corresponde à ContractFilter propriedade. Se dois EndpointDispatcher objetos puderem aceitar uma mensagem, o valor da FilterPriority propriedade determinará o ponto de extremidade de prioridade mais alta.
Use o EndpointDispatcher objeto para configurar ou estender o processo de receção de mensagens do , ChannelDispatcherconvertendo de objetos de mensagem para objetos usados como parâmetros, e invocando uma operação endpoint, bem como o processo inverso.
Normalmente, o EndpointDispatcher para um endpoint é obtido implementando a IEndpointBehavior interface, mas pode aceder a EndpointDispatcher a partir das outras interfaces de comportamento.
Pode usar as seguintes EndpointDispatcher propriedades:
A AddressFilter propriedade permite-lhe obter ou definir um MessageFilter objeto que utiliza ChannelDispatcher para identificar se o endpoint pode processar uma determinada mensagem.
A ChannelDispatcher propriedade recebe o objeto associado ChannelDispatcher , que envia e recebe mensagens para e a partir do EndpointDispatcher e que pode ser usado para inspecionar ou modificar outros valores e comportamentos relacionados com o canal.
Recebe ContractFilter o MessageFilter objeto que é usado para identificar se uma mensagem está destinada a este contrato.
As ContractName propriedades e ContractNamespace retornam o nome e o espaço de nomes do contrato endpoint.
A DispatchRuntime propriedade devolve o DispatchRuntime objeto que pode usar para modificar valores em tempo de execução ou inserir extensões personalizadas para todo o endpoint.
A EndpointAddress propriedade recebe o endereço do endpoint.
A FilterPriority propriedade devolve a prioridade do filtro composto que o ChannelDispatcher utilizador utiliza para determinar qual endpoint deve tratar a mensagem.
Construtores
| Name | Descrição |
|---|---|
| EndpointDispatcher(EndpointAddress, String, String, Boolean) |
Inicializa uma nova instância da EndpointDispatcher classe com o endereço especificado, nome do contrato, espaço de nomes do contrato e se o endpoint é um endpoint público do sistema. |
| EndpointDispatcher(EndpointAddress, String, String) |
Inicializa uma nova instância da EndpointDispatcher classe com o endereço especificado, nome do contrato e espaço de nomes do contrato. |
Propriedades
| Name | Descrição |
|---|---|
| AddressFilter |
Obtém ou define um MessageFilter objeto que é usado para identificar se uma determinada mensagem está destinada ao endereço do endpoint. |
| ChannelDispatcher |
Obtém o objeto associado ChannelDispatcher , que pode ser usado para inspecionar ou modificar outros valores e comportamentos relacionados com o canal. |
| ContractFilter |
Obtém ou define o MessageFilter objeto que é usado para identificar se uma mensagem está destinada a este contrato. |
| ContractName |
Obtém o nome do contrato de endpoint. |
| ContractNamespace |
Obtém o namespace do contrato endpoint. |
| DispatchRuntime |
Obtém o DispatchRuntime objeto usado para inspecionar, modificar ou estender o comportamento em tempo de execução num endpoint de serviço ou num endpoint de callback do cliente. |
| EndpointAddress |
Obtém o endereço do endpoint. |
| FilterPriority |
Obtém ou define a prioridade de e ContractFilter a AddressFilter combinação quando está ChannelDispatcher a selecionar endpoints. |
| IsSystemEndpoint |
Recebe um valor que indica se o endpoint é criado internamente pelo servidor e não pelo utilizador. |
Métodos
| Name | Descrição |
|---|---|
| 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) |