Compartilhar via


EndpointDispatcher Classe

Definição

Representa o objeto de tempo de execução que expõe propriedades que permitem a inserção de extensões ou modificações de tempo de execução para mensagens em aplicativos de serviço.

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

Exemplos

O exemplo de código a seguir mostra o uso para localizar o System.ServiceModel.Dispatcher.DispatchRuntime ponto de extremidade e insere um inspetor de mensagens personalizado usando um comportamento de ponto de EndpointDispatcher extremidade.

// 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;
}

Comentários

As EndpointDispatcher classes e as System.ServiceModel.Dispatcher.DispatchRuntime classes expõem os pontos de personalização de runtime para pontos de extremidade em um serviço. Pode EndpointDispatcher ser usado para controlar quais mensagens ele pode processar e algumas informações relacionadas ao ponto de extremidade. Ele DispatchRuntime tem um grande número de propriedades usadas para inserir extensões personalizadas no runtime de todo o ponto de extremidade.

O EndpointDispatcher objeto é responsável por processar mensagens de um 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 recebimento de mensagens do associado ChannelDispatcher, convertendo de objetos de mensagem em objetos usados como parâmetros e invocando uma operação de ponto de extremidade, bem como o processo inverso.

Normalmente, o EndpointDispatcher para um ponto de extremidade é obtido implementando a IEndpointBehavior interface, mas você pode acessar a EndpointDispatcher partir das outras interfaces de comportamento.

Você pode usar as seguintes EndpointDispatcher propriedades:

  • A AddressFilter propriedade permite que você obtenha ou defina um MessageFilter objeto usado ChannelDispatcher para identificar se o ponto de extremidade pode processar uma mensagem específica.

  • A ChannelDispatcher propriedade obtém o objeto associado ChannelDispatcher , que envia e recebe mensagens de e para o EndpointDispatcher e que pode ser usado para inspecionar ou modificar outros valores e comportamentos relacionados ao canal.

  • Obtém ContractFilter o MessageFilter objeto usado para identificar se uma mensagem é destinada a esse contrato.

  • As ContractName propriedades e ContractNamespace o nome retornam o nome e o namespace do contrato de ponto de extremidade.

  • A DispatchRuntime propriedade retorna o DispatchRuntime objeto que você pode usar para modificar valores de tempo de execução ou inserir extensões de tempo de execução personalizadas para todo o ponto de extremidade.

  • A EndpointAddress propriedade obtém o endereço do ponto de extremidade.

  • A FilterPriority propriedade retorna a prioridade do filtro composto usado ChannelDispatcher para estabelecer qual ponto de extremidade é manipular a mensagem.

Construtores

EndpointDispatcher(EndpointAddress, String, String)

Inicializa uma nova instância da classe EndpointDispatcher com o endereço, nome do contrato e namespace de contrato especificados.

EndpointDispatcher(EndpointAddress, String, String, Boolean)

Inicializa uma nova instância da classe EndpointDispatcher com o endereço, nome do contrato e namespace do contrato especificados e se o ponto de extremidade é público e do sistema.

Propriedades

AddressFilter

Obtém ou define um objeto MessageFilter que é usado para identificar se uma mensagem específica destina-se ao endereço do ponto de extremidade.

ChannelDispatcher

Obtém o objeto ChannelDispatcher associado, que pode ser usado para inspecionar ou modificar os outros valores de canal e comportamentos.

ContractFilter

Obtém ou define o objeto MessageFilter que é usado para identificar se uma mensagem destina-se a este contrato.

ContractName

Obtém o nome do contrato do ponto de extremidade.

ContractNamespace

Obtém o namespace para o contrato do ponto de extremidade.

DispatchRuntime

Obtém o objeto DispatchRuntime usado para inspecionar, modificar ou estender o comportamento de tempo de execução em um ponto de extremidade de serviço ou um ponto de extremidade de retorno de chamada do cliente.

EndpointAddress

Obtém o endereço do ponto de extremidade.

FilterPriority

Obtém ou define a prioridade da combinação de ContractFilter e AddressFilter quando o ChannelDispatcher seleciona os pontos de extremidade.

IsSystemEndpoint

Obtém um valor que indica se o ponto de extremidade é criado internamente pelo servidor e não pelo usuário.

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)

Aplica-se a