System.Messaging 네임스페이스
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
네트워크에서 메시지 큐에 연결, 모니터링 및 관리하고 메시지를 보내거나 받거나 피킹할 수 있는 클래스를 제공합니다.
클래스
| Name | Description |
|---|---|
| AccessControlEntry |
일반 작업의 애플리케이션별 구현을 수행하기 위해 트러스티(사용자, 그룹 또는 컴퓨터)에 대한 액세스 권한을 지정합니다. |
| AccessControlList |
하나 이상의 트러스티에 대한 액세스 권한을 지정하는 액세스 제어 항목 목록을 포함합니다. |
| ActiveXMessageFormatter |
MSMQ ActiveX 구성 요소와 호환되는 형식을 사용하여 메시지 큐 메시지 본문과 기본 데이터 형식 및 기타 개체를 직렬화하거나 역직렬화합니다. |
| BinaryMessageFormatter |
이진 형식을 사용하여 메시지 큐 메시지 본문에서 개체 또는 연결된 개체의 전체 그래프를 직렬화하거나 역직렬화합니다. |
| Cursor |
A Cursor 는 큐의 메시지를 읽을 때 특정 위치를 MessageQueue 유지하는 데 사용됩니다. |
| DefaultPropertiesToSend |
인스턴스 이외의 Message 개체를 메시지 큐로 보낼 때 사용할 기본 속성 값을 지정합니다. |
| Message |
메시지 큐 메시지를 정의하는 데 필요한 속성에 대한 액세스를 제공합니다. |
| MessageEnumerator |
메시지 큐의 메시지를 열거하는 전달 전용 커서를 제공합니다. |
| MessagePropertyFilter |
메시지 큐에서 메시지를 피킹하거나 받을 때 검색되는 속성을 제어하고 선택합니다. |
| MessageQueue |
메시지 큐 서버의 큐에 대한 액세스를 제공합니다. |
| MessageQueueAccessControlEntry |
메시지 큐 작업을 수행할 수 있는 트러스티(사용자, 그룹 또는 컴퓨터)에 대한 액세스 권한을 지정합니다. |
| MessageQueueCriteria |
클래스의 MessageQueue 메서드를 사용하여 쿼리를 수행할 때 메시지 큐를 GetPublicQueues() 필터링합니다. |
| MessageQueueEnumerator |
메시지 큐의 메시지를 열거하는 전달 전용 커서를 제공합니다. |
| MessageQueueException |
Microsoft 메시지 큐 내부 오류가 발생할 경우 throw되는 예외입니다. |
| MessageQueueInstaller |
애플리케이션을 실행하기 위해 필요한 큐를 설치하고 구성할 수 있습니다. 이 클래스는 설치 유틸리티(예: InstallUtil.exe)를 설치할 때 호출됩니다 MessageQueue. |
| MessageQueuePermission |
메시징에 대한 코드 액세스 권한을 제어할 수 있습니다. |
| MessageQueuePermissionAttribute |
선언적 MessageQueue 권한 검사를 허용합니다. |
| MessageQueuePermissionEntry |
메시징에 대한 코드 액세스 보안 권한 집합의 가장 작은 단위를 정의합니다. |
| MessageQueuePermissionEntryCollection |
강력한 형식의 MessageQueuePermissionEntry 개체 컬렉션을 포함합니다. |
| MessageQueueTransaction |
메시지 큐 내부 트랜잭션을 제공합니다. |
| MessagingDescriptionAttribute |
속성 또는 이벤트에 대한 설명을 지정합니다. |
| PeekCompletedEventArgs |
PeekCompleted 이벤트에 대한 데이터를 제공합니다. 비동기 피킹 작업에서 이벤트 처리기를 호출하면 이 클래스의 인스턴스가 처리기에 전달됩니다. |
| ReceiveCompletedEventArgs |
ReceiveCompleted 이벤트에 대한 데이터를 제공합니다. 비동기 수신 작업에서 이벤트 처리기를 호출하면 이 클래스의 인스턴스가 처리기에 전달됩니다. |
| SecurityContext |
큐에 있는 메시지의 보안 컨텍스트를 나타냅니다. |
| Trustee |
액세스 제어 항목이 적용되는 사용자 계정, 그룹 계정 또는 로그온 세션을 지정합니다. |
| XmlMessageFormatter |
XSD 스키마 정의에 따라 XML 형식을 사용하여 메시지 본문과 개체를 직렬화하고 역직렬화합니다. |
인터페이스
| Name | Description |
|---|---|
| IMessageFormatter |
메시지 큐 메시지의 본문에서 개체를 직렬화하거나 역직렬화합니다. |
열거형
| Name | Description |
|---|---|
| AccessControlEntryType |
트러스티에 대한 액세스 권한을 허용, 거부 또는 취소할지 여부를 지정합니다. |
| AcknowledgeTypes |
메시지 큐가 보내는 애플리케이션에 반환하는 승인 메시지 유형을 지정합니다. |
| Acknowledgment |
메시지 배달 시도 결과를 지정합니다. |
| CryptographicProviderType |
디지털 서명의 유효성을 검사하는 데 사용할 수 있는 암호화 서비스 공급자를 지정합니다. |
| EncryptionAlgorithm |
프라이빗 메시지의 메시지 본문을 암호화하는 데 사용되는 암호화 알고리즘을 지정합니다. |
| EncryptionRequired |
큐에서 받은 메시지의 개인 정보 수준을 지정합니다. |
| GenericAccessRights |
Windows 2000 및 Windows NT 액세스 형식을 사용하여 메시지 큐가 읽기, 쓰기 및 실행을 위한 표준 및 개체별 액세스 권한 모두에 매핑되는 일반적인 액세스 권한 집합을 지정합니다. |
| HashAlgorithm |
메시지를 인증할 때 메시지 큐에서 사용하는 해시 알고리즘을 지정합니다. |
| MessageLookupAction |
메시지 큐에서 피킹하거나 받을 메시지를 지정합니다. |
| MessagePriority |
메시지를 큐로 라우팅하는 동안 및 대상 큐에 메시지를 삽입할 때 메시지에 우선 순위 메시지 큐가 적용되도록 지정합니다. |
| MessageQueueAccessRights |
메시지 큐와 관련된 작업에 대한 개체별 액세스 권한 집합을 지정합니다. |
| MessageQueueErrorCode |
메시지 큐 애플리케이션 내에서 발생하고 MessageQueueException 예외를 생성한 오류의 원인을 식별합니다. |
| MessageQueuePermissionAccess |
System.Messaging 권한 클래스에서 사용하는 액세스 수준을 정의합니다. |
| MessageQueueTransactionStatus |
내부 메시지 큐 트랜잭션의 상태를 지정합니다. |
| MessageQueueTransactionType |
메시지 큐 트랜잭션의 형식을 지정합니다. |
| MessageType |
메시지의 유형을 식별합니다. 메시지는 일반적인 메시지 큐 메시지, 긍정(도착 및 읽기) 또는 부정(도착 및 읽기) 승인 메시지 또는 보고서 메시지일 수 있습니다. |
| PeekAction |
큐에서 현재 메시지를 피킹할지 또는 다음 메시지를 피킹할지 여부를 나타냅니다. |
| QueueAccessMode |
생성 시 MessageQueue 액세스 모드를 지정합니다. |
| StandardAccessRights |
대부분의 보안 개체 유형에 공통된 작업에 해당하는 표준 액세스 권한 집합을 지정합니다. |
| TrusteeType |
트러스티의 형식을 지정합니다. |
대리자
| Name | Description |
|---|---|
| PeekCompletedEventHandler |
의 이벤트를 처리할 메서드를 PeekCompletedMessageQueue나타냅니다. |
| ReceiveCompletedEventHandler |
의 이벤트를 처리할 메서드를 ReceiveCompletedMessageQueue나타냅니다. |
설명
클래스의 MessageQueue 멤버에는 큐에 메시지를 읽고 쓰는 다음 메서드가 포함됩니다.
이 Send 메서드를 사용하면 애플리케이션이 큐에 메시지를 쓸 수 있습니다. 메서드의 오버로드를 사용하면 보내는 정보에 대한 자세한 제어를 제공하는 메시지를 보낼지 또는 애플리케이션별 클래스를 비롯한 다른 관리되는 개체를 사용하여 Message 메시지를 보낼지 여부를 지정할 수 있습니다. 또한 이 메서드는 트랜잭션의 일부로 메시지 전송을 지원합니다.
및 ReceiveByIdReceiveByCorrelationId 메서드는 Receive큐에서 메시지를 읽는 기능을 제공합니다. 메서드와 Send 마찬가지로 이러한 메서드는 트랜잭션 큐 처리를 지원하는 오버로드를 제공합니다. 또한 이러한 메서드는 오버로드에 시간 초과를 제공합니다.
큐가 비어 있는 경우 처리를 계속할 수 있도록 하는 out 매개 변수입니다. 이러한 메서드는 동기 처리의 예이므로 시간 초과를 지정하지 않는 한 메시지를 사용할 수 있을 때까지 현재 스레드를 중단합니다.
이 Peek 메서드는 유사 Receive하지만 메시지를 읽을 때 큐에서 제거되지는 않습니다. Peek 큐 콘텐츠는 변경되지 않으므로 트랜잭션 처리를 지원하는 오버로드가 없습니다. 그러나 큐Receive에서 메시지를 동기적으로 읽기 때문에 Peek메서드의 오버로드는 스레드가 무기한 대기하지 않도록 제한 시간 지정을 지원합니다.
, EndPeek(IAsyncResult)및 BeginReceiveEndReceive(IAsyncResult) 메서드는 BeginPeek큐에서 메시지를 비동기적으로 읽는 방법을 제공합니다. 큐에 메시지가 도착할 때까지 기다리는 동안 현재 스레드를 중단하지 않습니다.
클래스의 MessageQueue 다음 메서드는 지정된 기준에 따라 큐 목록을 검색하고 특정 큐가 있는지 확인하는 기능을 제공합니다.
GetPrivateQueuesByMachine(String) 를 사용하면 컴퓨터에서 프라이빗 큐를 검색할 수 있습니다.
GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String)일반 GetPublicQueuesByMachine(String) 기준에 따라 공용 큐를 검색하는 방법을 제공합니다. 오버로드는 GetPublicQueues 여러 검색 조건에 따라 큐를 선택하는 데 더 세부적인 정보를 제공합니다.
클래스의 다른 메서드는 MessageQueue 다음 기능을 제공합니다.
메시지 큐 만들기 및 삭제
메시지 열거자를 사용하여 큐의 메시지를 단계별로 실행합니다.
시스템의 큐를 반복하기 위해 큐 열거자를 사용합니다.
ACL 기반 액세스 권한 설정
연결 캐시 작업
이 클래스는 Message 큐에 보내는 정보에 대한 자세한 제어를 제공하며 큐에서 메시지를 받거나 피킹할 때 사용되는 개체입니다. 메시지 본문 외에도 클래스의 Message 속성에는 승인 설정, 포맷터 선택, 식별, 인증 및 암호화 정보, 타임스탬프, 추적 사용에 대한 표시, 서버 저널링 및 배달 못한 편지 큐 및 트랜잭션 데이터가 포함됩니다.
구성 MessageQueue 요소는 큐에서 보내고 받은 메시지를 직렬화하고 역직렬화할 수 있는 다음 세 가지 포맷터와 연결됩니다.
느슨하게 XmlMessageFormatter 결합된 메시징을 제공하여 클라이언트 및 서버에서 직렬화된 형식의 독립적인 버전 관리가 가능합니다.
MSMQ ActiveXMessageFormatter COM 컨트롤과 호환됩니다. 컨트롤에서 수신할 수 있는 형식을 보내고 컨트롤에서 보낸 형식을 받을 수 있습니다.
이 BinaryMessageFormatter 기능은 느슨하게 결합된 메시징의 XmlMessageFormatter이점 없이 더 빠른 대안을 제공합니다.
네임스페이 Messaging 스의 다른 클래스는 코드 액세스 및 ACL 기반 보안을 지원하며, 큐에서 메시지를 읽을 때 속성을 필터링 Message 하고, 메시지를 보내고 받을 때 트랜잭션을 사용합니다.