다음을 통해 공유


DispatchRuntime 클래스

정의

들어오는 메시지가 개체로 변형되고 작업에 디스패치되는 방법을 수정할 수 있는 사용자 지정 개체를 연결할 뿐만 아니라 기본 서비스 동작을 수정하는 데 사용할 수 있는 속성을 노출합니다. 이 클래스는 상속될 수 없습니다.

public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
상속
DispatchRuntime

설명

서비스나 개별 엔드포인트의 기본 동작을 수정하거나 다음 서비스 프로세스 중 하나 또는 모두에 대해 사용자 지정 수정을 구현하는 개체를 삽입하려면 DispatchRuntime 클래스를 사용합니다.

  1. 들어오는 메시지를 개체로 변형하고 이러한 개체를 서비스 개체에 대한 메서드 호출로 해제

  2. 서비스 작업 호출에 대한 응답에서 수신한 개체를 아웃바운드 메시지로 변형

Windows Communication Foundation(WCF)에서 채널 및 엔드포인트 디스패처는 새 채널 수락, 메시지 수신, 메서드 디스패치 및 호출 및 응답 처리를 담당하는 서비스 구성 요소입니다. ServiceHost 개체에 의해 노출되는 각 엔드포인트에는 엔드포인트 디스패처 및 이에 연결된 채널 디스패처가 하나씩 있습니다. 또한 양방향 통신에 참여하는 각 클라이언트에도 콜백 엔드포인트마다 엔드포인트 디스패처와 채널 디스패처가 하나씩 있습니다.

DispatchRuntime을 사용하면 메시지가 인식되지 않는 경우에도 특정 계약을 통해 모든 메시지에 대한 채널 또는 엔드포인트 디스패처를 가로채서 확장할 수 있습니다. 계약에 선언된 메시지와 일치하지 않는 메시지가 도착하면 이 메시지는 UnhandledDispatchOperation 속성에 의해 반환된 작업에 디스패치됩니다. 특정 작업에 대한 모든 메시지를 가로채거나 확장하려면 DispatchOperation 클래스를 참조하세요.

DispatchRuntime 클래스에 의해 노출되는 디스패처 확장성의 네 가지 기본 영역은 다음과 같습니다.

  1. 디스패치 구성 요소에서는 DispatchRuntime의 속성 및 연결된 채널 디스패처의 속성(ChannelDispatcher 속성에서 반환됨)을 사용하여 채널 디스패처가 채널을 허용하고 닫는 방법을 사용자 지정합니다. 이 범주에는 ChannelInitializersInputSessionShutdownHandlers 속성이 포함됩니다.

  2. 메시지 구성 요소는 처리되는 메시지별로 사용자 지정됩니다. 이 범주에는 MessageInspectors, OperationSelector, OperationsErrorHandlers 속성이 포함됩니다.

  3. 인스턴스 구성 요소는 해당 서비스 형식 인스턴스의 생성, 수명, 삭제를 사용자 지정합니다. 서비스 개체 수명에 대한 자세한 내용은 InstanceContextMode 속성을 참조하세요. 이 범주에는 InstanceContextInitializersInstanceProvider 속성이 포함됩니다.

  4. 보안 관련 구성 요소는 다음과 같은 속성을 사용할 수 있습니다.

일반적으로 사용자 지정 확장명 개체는 DispatchRuntime 속성에 할당되거나 서비스 동작(IServiceBehavior를 구현하는 개체), 계약 동작(IContractBehavior를 구현하는 개체) 또는 엔드포인트 동작(IEndpointBehavior를 구현하는 개체)에 의해 컬렉션에 삽입됩니다. 그런 다음 프로그래밍 방식을 사용하거나 사용자 지정 BehaviorExtensionElement 개체를 구현하여 설치 동작 개체를 해당 동작 컬렉션에 추가하므로, 애플리케이션 구성 파일을 사용하여 동작을 삽입할 수 있습니다.

속성

AutomaticInputSessionShutdown

클라이언트가 출력 세션을 닫을 때 서비스에서 입력 세션을 닫는지 여부를 지정하는 값을 가져오거나 설정합니다.

CallbackClientRuntime

이중 콜백 엔드포인트에 대한 아웃바운드 호출을 위해 WCF(Windows Communication Foundation)에 대한 확장 설치 지점을 나타내는 ClientRuntime 개체를 가져옵니다.

ChannelDispatcher

이 디스패치 런타임 개체의 ChannelDispatcher를 가져옵니다.

ConcurrencyMode

서비스의 인스턴스가 메시지를 순차적으로 처리할지 동시에 처리할지를 가져오거나 설정합니다.

EndpointDispatcher

이 디스패치 런타임의 EndpointDispatcher를 가져옵니다.

EnsureOrderedDispatch

메시지가 전송된 순서대로 디스패치되는지 여부를 나타내는 값을 가져옵니다.

ExternalAuthorizationPolicies

클레임 집합이 있는 경우 사용자에게 권한을 부여하기 위한 규칙 집합을 정의하는 외부 권한 부여 정책을 가져오거나 설정합니다.

IgnoreTransactionMessageProperty

TransactionMessageProperty를 무시하는지 여부를 가져오거나 설정합니다.

ImpersonateCallerForAllOperations

들어오는 메시지가 제공하는 자격 증명을 사용하여 서비스가 가장을 시도하는지 여부를 제어하는 값을 가져오거나 설정합니다.

ImpersonateOnSerializingReply

회신 작업을 serialize하는 데 가장을 사용하는지 여부를 나타내는 값을 가져옵니다.

InputSessionShutdownHandlers

입력 세션을 닫는 방법을 제어하는 사용자 지정 처리기를 추가하는 데 사용할 수 있는 IInputSessionShutdown 개체 컬렉션을 가져옵니다.

InstanceContextInitializers

IInstanceContextInitializer 개체를 처음 만들 때 개체를 검사하거나 수정하는 데 사용할 수 있는 InstanceContext 개체 컬렉션을 가져옵니다.

InstanceContextProvider

IInstanceContextProvider에서 사용할 DispatchRuntime를 가져오거나 설정합니다.

InstanceProvider

서비스 개체 생성과 삭제를 제어하는 데 사용할 수 있는 IInstanceProvider 개체를 가져오거나 설정합니다.

MessageAuthenticationAuditLevel

성공적인 메시지 권한 부여 이벤트를 SecurityAuditLogLocation에서 지정된 이벤트 로그에 쓰는지 여부를 지정하는 값을 가져오거나 설정합니다.

MessageInspectors

엔드포인트를 통해 들어오거나 나가는 모든 메시지에 대해 사용자 지정 메시지 검사자를 연결하는 데 사용할 수 있는 IDispatchMessageInspector 개체 컬렉션을 가져옵니다.

Operations

특정 작업의 실행 동작을 제어하는 데 사용할 수 있는 DispatchOperation 개체 컬렉션을 가져옵니다.

OperationSelector

특정 메시지에 대한 대상 IDispatchOperationSelector 선택을 제어하는 DispatchOperation 개체를 가져오거나 설정합니다.

PreserveMessage

메시지의 보존 여부를 가져오거나 설정합니다.

PrincipalPermissionMode

CurrentPrincipal 속성 설정 방법을 지정하는 값을 가져오거나 설정합니다.

ReleaseServiceInstanceOnTransactionComplete

트랜잭션이 성공적으로 완료된 후에 서비스 개체를 재활용하는지 여부를 지정하는 값을 가져오거나 설정합니다.

RoleProvider

RoleProvider에 사용되는 사용자 지정 DispatchRuntime를 가져오거나 설정합니다.

SecurityAuditLogLocation

감사 로그의 위치를 가져오거나 설정합니다.

ServiceAuthenticationManager

서비스 작업의 인증 프로세스를 관리하는 개체를 가져오거나 설정합니다.

ServiceAuthorizationAuditLevel

어느 서비스 권한 부여 이벤트를 감사할지 제어하는 값을 가져오거나 설정합니다.

ServiceAuthorizationManager

ServiceAuthorizationManager에 대한 인증 확인을 제공하는 DispatchRuntime를 가져옵니다.

SingletonInstanceContext

IInstanceContextProvider에서 사용할 singleton DispatchRuntime를 가져오거나 설정합니다.

SuppressAuditFailure

로깅 프로세스 중에 발생하는 중요하지 않은 예외가 표시되지 않도록 할지 여부를 지정하는 값을 가져오거나 설정합니다.

SynchronizationContext

서비스 작업을 호출하는 데 사용되는 동기화 컨텍스트를 가져오거나 설정합니다.

TransactionAutoCompleteOnSessionClose

세션이 닫힐 때 현재 트랜잭션이 자동으로 완료되는지 여부를 지정하는 값을 가져오거나 설정합니다.

Type

계약 형식을 가져오거나 설정합니다.

UnhandledDispatchOperation

인식되지 않은 메시지를 디스패치할 대상 작업을 가져오거나 설정합니다.

ValidateMustUnderstand

ValidateMustUnderstand 값을 가져오거나 설정합니다.

메서드

Equals(Object)

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

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

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

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

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

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

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

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

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

(다음에서 상속됨 Object)

적용 대상