DispatchRuntime 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
들어오는 메시지가 개체로 변형되고 작업에 디스패치되는 방법을 수정할 수 있는 사용자 지정 개체를 연결할 뿐만 아니라 기본 서비스 동작을 수정하는 데 사용할 수 있는 속성을 노출합니다. 이 클래스는 상속될 수 없습니다.
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- 상속
-
DispatchRuntime
설명
서비스나 개별 엔드포인트의 기본 동작을 수정하거나 다음 서비스 프로세스 중 하나 또는 모두에 대해 사용자 지정 수정을 구현하는 개체를 삽입하려면 DispatchRuntime 클래스를 사용합니다.
들어오는 메시지를 개체로 변형하고 이러한 개체를 서비스 개체에 대한 메서드 호출로 해제
서비스 작업 호출에 대한 응답에서 수신한 개체를 아웃바운드 메시지로 변형
Windows Communication Foundation(WCF)에서 채널 및 엔드포인트 디스패처는 새 채널 수락, 메시지 수신, 메서드 디스패치 및 호출 및 응답 처리를 담당하는 서비스 구성 요소입니다. ServiceHost 개체에 의해 노출되는 각 엔드포인트에는 엔드포인트 디스패처 및 이에 연결된 채널 디스패처가 하나씩 있습니다. 또한 양방향 통신에 참여하는 각 클라이언트에도 콜백 엔드포인트마다 엔드포인트 디스패처와 채널 디스패처가 하나씩 있습니다.
DispatchRuntime을 사용하면 메시지가 인식되지 않는 경우에도 특정 계약을 통해 모든 메시지에 대한 채널 또는 엔드포인트 디스패처를 가로채서 확장할 수 있습니다. 계약에 선언된 메시지와 일치하지 않는 메시지가 도착하면 이 메시지는 UnhandledDispatchOperation 속성에 의해 반환된 작업에 디스패치됩니다. 특정 작업에 대한 모든 메시지를 가로채거나 확장하려면 DispatchOperation 클래스를 참조하세요.
DispatchRuntime 클래스에 의해 노출되는 디스패처 확장성의 네 가지 기본 영역은 다음과 같습니다.
디스패치 구성 요소에서는 DispatchRuntime의 속성 및 연결된 채널 디스패처의 속성(ChannelDispatcher 속성에서 반환됨)을 사용하여 채널 디스패처가 채널을 허용하고 닫는 방법을 사용자 지정합니다. 이 범주에는 ChannelInitializers 및 InputSessionShutdownHandlers 속성이 포함됩니다.
메시지 구성 요소는 처리되는 메시지별로 사용자 지정됩니다. 이 범주에는 MessageInspectors, OperationSelector, Operations 및 ErrorHandlers 속성이 포함됩니다.
인스턴스 구성 요소는 해당 서비스 형식 인스턴스의 생성, 수명, 삭제를 사용자 지정합니다. 서비스 개체 수명에 대한 자세한 내용은 InstanceContextMode 속성을 참조하세요. 이 범주에는 InstanceContextInitializers 및 InstanceProvider 속성이 포함됩니다.
보안 관련 구성 요소는 다음과 같은 속성을 사용할 수 있습니다.
SecurityAuditLogLocation은 감사 이벤트가 작성되는 위치를 나타냅니다.
ImpersonateCallerForAllOperations는 들어오는 메시지가 제공하는 자격 증명을 사용하여 서비스가 가장을 시도하는지 여부를 제어합니다.
MessageAuthenticationAuditLevel은 성공적인 메시지 권한 부여 이벤트가 SecurityAuditLogLocation에서 지정된 이벤트 로그에 작성되는지 여부를 제어합니다.
PrincipalPermissionMode는 CurrentPrincipal 속성을 설정하는 방법을 제어합니다.
ServiceAuthorizationAuditLevel은 권한 부여 이벤트에 대한 감사를 수행하는 방법을 지정합니다.
SuppressAuditFailure는 로깅 프로세스 중에 발생하는 중요하지 않은 예외가 표시되지 않도록 할지 여부를 지정합니다.
일반적으로 사용자 지정 확장명 개체는 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) |