EndpointDispatcher Klasa

Definicja

Reprezentuje obiekt czasu wykonywania, który uwidacznia właściwości, które umożliwiają wstawianie rozszerzeń czasu wykonywania lub modyfikacji komunikatów w aplikacjach usług.

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
Dziedziczenie
EndpointDispatcher

Przykłady

W poniższym przykładzie kodu pokazano użycie elementu EndpointDispatcher w celu zlokalizowania System.ServiceModel.Dispatcher.DispatchRuntime punktu końcowego i wstawienie niestandardowego inspektora komunikatów przy użyciu zachowania punktu końcowego.

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

Uwagi

Klasy EndpointDispatcher i System.ServiceModel.Dispatcher.DispatchRuntime uwidaczniają punkty dostosowywania środowiska uruchomieniowego dla punktów końcowych w usłudze. Może służyć do kontrolowania EndpointDispatcher komunikatów, które mogą przetwarzać, oraz niektórych informacji związanych z punktem końcowym. Obiekt DispatchRuntime ma dużą liczbę właściwości używanych do wstawiania rozszerzeń niestandardowych do środowiska uruchomieniowego całego punktu końcowego.

Obiekt EndpointDispatcher jest odpowiedzialny za przetwarzanie komunikatów z System.ServiceModel.Dispatcher.ChannelDispatcher adresu docelowego komunikatu zgodnego AddressFilter z właściwością, a akcja komunikatu jest zgodna z właściwością ContractFilter . Jeśli dwa EndpointDispatcher obiekty mogą zaakceptować komunikat, FilterPriority wartość właściwości określa punkt końcowy o wyższym priorytcie.

Obiekt służy EndpointDispatcher do konfigurowania lub rozszerzania procesu odbierania komunikatów ze skojarzonego ChannelDispatcherobiektu , konwertowania z obiektów komunikatów na obiekty używane jako parametry oraz wywoływania operacji punktu końcowego oraz procesu odwrotnego.

Zazwyczaj element EndpointDispatcher dla punktu końcowego jest uzyskiwany przez zaimplementowanie interfejsu IEndpointBehavior , ale dostęp do obiektu można uzyskać EndpointDispatcher z poziomu innych interfejsów zachowania.

Można użyć następujących EndpointDispatcher właściwości:

  • Właściwość AddressFilter umożliwia pobranie lub ustawienie obiektu używanego MessageFilter ChannelDispatcher do identyfikowania, czy punkt końcowy może przetworzyć określony komunikat.

  • Właściwość ChannelDispatcher pobiera skojarzony ChannelDispatcher obiekt, który wysyła i odbiera komunikaty do i z EndpointDispatcher i , które mogą służyć do inspekcji lub modyfikowania innych wartości i zachowań związanych z kanałem.

  • Obiekt ContractFilter pobiera MessageFilter obiekt używany do identyfikowania, czy komunikat jest przeznaczony dla tego kontraktu.

  • Właściwości ContractName i ContractNamespace zwracają nazwę i przestrzeń nazw kontraktu punktu końcowego.

  • Właściwość DispatchRuntime zwraca DispatchRuntime obiekt, którego można użyć do modyfikowania wartości czasu wykonywania lub wstawiania niestandardowych rozszerzeń czasu wykonywania dla całego punktu końcowego.

  • Właściwość EndpointAddress pobiera adres punktu końcowego.

  • Właściwość FilterPriority zwraca priorytet filtru złożonego używanego ChannelDispatcher do ustalenia, który punkt końcowy ma obsługiwać komunikat.

Konstruktory

EndpointDispatcher(EndpointAddress, String, String)

Inicjuje EndpointDispatcher nowe wystąpienie klasy z określonym adresem, nazwą kontraktu i przestrzenią nazw kontraktu.

EndpointDispatcher(EndpointAddress, String, String, Boolean)

Inicjuje nowe wystąpienie EndpointDispatcher klasy o określonym adresie, nazwie kontraktu, przestrzeni nazw kontraktu i tym, czy punkt końcowy jest publicznym, systemowym punktem końcowym.

Właściwości

AddressFilter

Pobiera lub ustawia MessageFilter obiekt, który służy do identyfikowania, czy określony komunikat jest przeznaczony dla adresu punktu końcowego.

ChannelDispatcher

Pobiera skojarzony ChannelDispatcher obiekt, który może służyć do inspekcji lub modyfikowania innych wartości i zachowań związanych z kanałem.

ContractFilter

Pobiera lub ustawia MessageFilter obiekt używany do identyfikowania, czy komunikat jest przeznaczony dla tego kontraktu.

ContractName

Pobiera nazwę kontraktu punktu końcowego.

ContractNamespace

Pobiera przestrzeń nazw kontraktu punktu końcowego.

DispatchRuntime

DispatchRuntime Pobiera obiekt używany do inspekcji, modyfikowania lub rozszerzania zachowania czasu wykonywania w punkcie końcowym usługi lub w punkcie końcowym wywołania zwrotnego klienta.

EndpointAddress

Pobiera adres punktu końcowego.

FilterPriority

Pobiera lub ustawia priorytet ContractFilter i kombinację AddressFilter podczas wybierania ChannelDispatcher punktów końcowych.

IsSystemEndpoint

Pobiera wartość wskazującą, czy punkt końcowy jest tworzony wewnętrznie przez serwer, a nie przez użytkownika.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy