다음을 통해 공유


EndpointDispatcher 클래스

정의

서비스 애플리케이션에서 메시지에 대한 수정이나 런타임 확장을 삽입할 수 있는 속성을 공개하는 런타임 개체를 나타냅니다.

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
상속
EndpointDispatcher

예제

다음 코드 예제에서는 EndpointDispatcher를 사용하여 엔드포인트에 대한 System.ServiceModel.Dispatcher.DispatchRuntime을 찾고 엔드포인트 동작을 사용하여 사용자 지정 메시지 검사자를 삽입하는 방법을 보여 줍니다.

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

설명

EndpointDispatcherSystem.ServiceModel.Dispatcher.DispatchRuntime 클래스는 서비스의 엔드포인트에 대한 런타임 사용자 지정 요소를 공개합니다. EndpointDispatcher를 사용하면 처리할 수 있는 메시지와 일부 엔드포인트 관련 정보를 제어할 수 있습니다. DispatchRuntime에는 사용자 지정 확장을 엔드포인트 수준의 런타임에 삽입하는 데 사용되는 많은 속성이 있습니다.

EndpointDispatcher 개체는 메시지의 대상 주소가 System.ServiceModel.Dispatcher.ChannelDispatcher 속성과 일치하고 메시지 동작이 AddressFilter 속성과 일치할 경우 ContractFilter로부터 받는 메시지를 처리합니다. 두 EndpointDispatcher 개체가 메시지를 수락할 수 있는 경우 FilterPriority 속성 값에 따라 우선 순위가 높은 엔드포인트가 결정됩니다.

메시지 개체를 매개 변수로 사용되는 개체로 변환하고 엔드포인트 작업과 역프로세스를 호출하여 연결된 EndpointDispatcher로부터 받는 메시지의 처리를 구성하거나 확장하려면 ChannelDispatcher 개체를 사용합니다.

일반적으로 엔드포인트에 대한 EndpointDispatcherIEndpointBehavior 인터페이스를 구현하여 얻지만, 다른 동작 인터페이스에서 EndpointDispatcher에 액세스할 수도 있습니다.

다음과 같은 EndpointDispatcher 속성을 사용할 수 있습니다.

  • AddressFilter 속성을 사용하면 MessageFilter가 엔드포인트에서 특정 메시지를 처리할 수 있는지 여부를 확인하는 데 사용하는 ChannelDispatcher 개체를 가져오거나 설정할 수 있습니다.

  • ChannelDispatcher 속성은 연관된 ChannelDispatcher 개체를 가져오며, EndpointDispatcher와 메시지를 주고 받고 다른 채널 관련 값과 동작을 검사하거나 수정하는 데 사용될 수 있습니다.

  • ContractFilter는 메시지의 대상이 해당 계약인지 여부를 식별하는 데 사용되는 MessageFilter 개체를 가져옵니다.

  • ContractNameContractNamespace 속성은 엔드포인트 계약의 이름과 네임스페이스를 반환합니다.

  • DispatchRuntime 속성은 런타임 값을 수정하거나 전체 엔드포인트에 대한 사용자 지정 런타임 확장을 삽입하는 데 사용할 수 있는 DispatchRuntime 개체를 반환합니다.

  • EndpointAddress 속성은 엔드포인트의 주소를 가져옵니다.

  • FilterPriority 속성은 ChannelDispatcher에서 메시지를 처리할 엔드포인트를 설정하는 데 사용하는 복합 필터의 우선 순위를 반환합니다.

생성자

EndpointDispatcher(EndpointAddress, String, String)

지정된 주소, 계약 이름 및 계약 네임스페이스를 사용하여 EndpointDispatcher 클래스의 새 인스턴스를 초기화합니다.

EndpointDispatcher(EndpointAddress, String, String, Boolean)

지정된 주소, 계약 이름, 계약 네임스페이스 및 엔드포인트가 공개 시스템 엔드포인트인지 여부를 사용하여 EndpointDispatcher 클래스의 새 인스턴스를 초기화합니다.

속성

AddressFilter

특정 메시지의 대상이 엔드포인트 주소인지 여부를 식별하는 데 사용되는 MessageFilter 개체를 가져오거나 설정합니다.

ChannelDispatcher

다른 채널 관련 값과 동작을 검사하거나 수정하는 데 사용할 수 있는 연결된 ChannelDispatcher 개체를 가져옵니다.

ContractFilter

메시지의 대상이 해당 계약인지 여부를 식별하는 데 사용되는 MessageFilter 개체를 가져오거나 설정합니다.

ContractName

엔드포인트 계약 이름을 가져옵니다.

ContractNamespace

엔드포인트 계약의 네임스페이스를 가져옵니다.

DispatchRuntime

서비스 엔드포인트 또는 클라이언트 콜백 엔드포인트를 통해 런타임 동작을 검사, 수정 또는 확장하는 데 사용되는 DispatchRuntime 개체를 가져옵니다.

EndpointAddress

엔드포인트의 주소를 가져옵니다.

FilterPriority

ContractFilter에서 엔드포인트를 선택할 때 AddressFilterChannelDispatcher 조합의 우선 순위를 가져오거나 설정합니다.

IsSystemEndpoint

엔드포인트를 사용자가 아니라 서버에서 내부적으로 만들었는지를 표시하는 값을 가져옵니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상