내보내기(0) 인쇄
모두 확장
확장 최소화

System.Messaging 네임스페이스

업데이트: 2007년 11월

System.Messaging 네임스페이스는 네트워크에서 메시지 큐에 연결, 모니터링 및 관리하고 메시지를 보내고 받거나 피크(peek)할 수 있는 클래스를 제공합니다.

MessageQueue 클래스의 멤버에는 큐에서 메시지를 읽고 쓰는 데 사용되는 다음과 같은 메서드가 포함되어 있습니다.

  • Send() 메서드를 사용하여 응용 프로그램을 통해 큐에 메시지를 쓸 수 있습니다. 메서드의 오버로드를 사용하면 보내는 정보를 자세히 제어할 수 있는 Message를 사용하여 메시지를 보낼지 또는 응용 프로그램별 클래스를 포함한 다른 관리되는 개체를 사용하여 메시지를 보낼지 지정할 수 있습니다. 또한 트랜잭션의 일부로서 메시지를 보낼 수도 있습니다.

  • Receive, ReceiveById()ReceiveByCorrelationId() 메서드를 사용하면 큐에서 메시지를 읽을 수 있습니다. Send() 메서드와 마찬가지로 이러한 메서드는 트랜잭션 큐 처리를 지원하는 오버로드를 제공합니다. 이러한 메서드는 큐가 비어 있을 경우 처리가 계속되도록

    제한 시간 매개 변수를 사용하는 오버로드도 제공합니다. 이러한 메서드는 일종의 동기 처리이므로 제한 시간을 지정하지 않으면 메시지를 사용할 수 있을 때까지 현재 스레드를 중단합니다.

  • Peek 메서드는 Receive와 비슷하지만 이 메서드를 사용하면 메시지를 읽을 때 큐에서 메시지를 제거할 수 없습니다. Peek는 큐 내용을 변경하지 않으므로 트랜잭션 처리를 지원할 오버로드가 없습니다. 그러나 Receive와 마찬가지로 Peek는 큐의 메시지를 동기식으로 읽기 때문에 이 메서드의 오버로드를 사용하여 스레드가 무기한 대기하는 것을 방지하기 위해 제한 시간을 설정할 수 없습니다.

  • BeginPeek, EndPeek(IAsyncResult), BeginReceiveEndReceive(IAsyncResult) 메서드는 큐에서 비동기식으로 메시지를 읽는 몇 가지 방법을 제공합니다. 이러한 메서드는 메시지가 큐에 도착하는 것을 기다리는 동안 현재 스레드를 중단하지 않습니다.

MessageQueue 클래스의 다음 메서드를 사용하면 지정된 조건을 사용하여 큐 목록을 검색하고 특정 큐가 있는지 확인할 수 있습니다.

MessageQueue 클래스의 다른 메서드는 다음 기능을 제공합니다.

  • 메시지 큐에서 큐 만들기 및 삭제

  • 메시지 열거자를 사용하여 큐의 메시지 반복

  • 큐 열거자를 사용하여 시스템의 큐 반복

  • ACL 기반 액세스 권한 설정

  • 연결 캐시를 사용하여 작업

Message 클래스를 사용하면 큐에 보내는 정보를 자세히 제어할 수 있으며 이 클래스는 큐에서 메시지를 받거나 피크(peek)할 때 사용되는 개체입니다. Message 클래스의 속성에는 메시지 본문 외에도 승인, 설정, 포맷터 선택, ID, 인증 및 암호화 정보, 타임스탬프 및 추적, 업무 일지 서버, 배달 못 한 큐 등의 사용에 대한 표시가 포함됩니다. 또한 트랜잭션 데이터도 포함됩니다.

MessageQueue 구성 요소는 큐에서 보내고 받은 메시지를 serialize하고 deserialize할 수 있는 다음 세 가지 포맷터와 연결되어 있습니다.

  • XmlMessageFormatter는 클라이언트 서버에서 serialize된 형식의 독립적인 버전 관리를 가능하게 하여 이완 결합 메시징을 제공합니다.

  • ActiveXMessageFormatter는 MSMQ COM 컨트롤과 호환됩니다. 따라서 컨트롤이 받을 수 있는 형식을 보내고 컨트롤이 보낸 형식을 받을 수 있습니다.

  • BinaryMessageFormatterXmlMessageFormatter보다 빠르지만 느슨하게 결합된 메시징의 이점을 제공하지는 않습니다.

Messaging 네임스페이스에 있는 다른 클래스는 큐에서 메시지를 읽을 때 Message 속성을 필터링하고 메시지를 보내고 받을 때 트랜잭션을 사용하여 코드 액세스와 ACL 기반 보안을 지원합니다.

  클래스설명
AccessControlEntry응용 프로그램별 일반 작업을 구현할 트러스티(사용자, 그룹 또는 컴퓨터)에 대한 액세스 권한을 지정합니다.
AccessControlList하나 이상의 트러스티에 액세스 권한을 지정하는 액세스 제어 항목 목록을 포함합니다.
ActiveXMessageFormatterMSMQ ActiveX 구성 요소와 호환되는 형식을 사용하여 메시지 큐 메시지의 본문으로 또는 메시지 큐 메시지의 본문에서 기본 데이터 형식과 다른 개체를 serialize하거나 deserialize합니다.
BinaryMessageFormatter개체나 연결된 개체의 전체 그래프를 메시지 큐 본문으로 또는 메시지 큐 본문에서 이진 형식으로 serialize하거나 deserialize합니다.
CursorCursorMessageQueue의 메시지를 읽을 때 큐의 특정 위치를 유지하는 데 사용됩니다.
DefaultPropertiesToSendMessage 인스턴스 이외의 개체를 메시지 큐로 보내는 데 사용되는 기본 속성 값을 지정합니다.
Message메시지 큐 메시지를 정의하는 데 필요한 속성의 액세스 권한을 제공합니다.
MessageEnumerator앞으로만 이동 가능한 커서를 제공하여 메시지 큐에 있는 메시지를 열거합니다.
MessagePropertyFilter메시지 큐에서 메시지를 피킹하거나 받을 때 검색되는 속성을 제어하고 선택합니다.
MessageQueue 메시지 큐 서버에 있는 큐에 대한 액세스를 제공합니다.
MessageQueueAccessControlEntry트러스티(사용자, 그룹 또는 컴퓨터)가 메시지 큐 작업을 수행할 수 있는 액세스 권한을 지정합니다.
MessageQueueCriteria쿼리를 수행할 때 MessageQueue 클래스의 GetPublicQueues 메서드를 사용하여 메시지 큐를 필터링합니다.
MessageQueueEnumerator앞으로만 이동 가능한 커서를 제공하여 메시지 큐에 있는 메시지를 열거합니다.
MessageQueueExceptionMicrosoft Message Queuing 내부 오류가 발생할 경우 throw되는 예외입니다.
MessageQueueInstaller응용 프로그램을 실행하는 데 필요한 큐를 설치하고 구성할 수 있도록 합니다. 이 클래스는 MessageQueue를 설치할 때 InstallUtil.exe와 같은 설치 유틸리티에서 호출됩니다.
MessageQueuePermission메시징에 대한 코드 액세스 권한 제어를 허용합니다.
MessageQueuePermissionAttributeMessageQueue 권한을 선언적으로 확인할 수 있습니다.
MessageQueuePermissionEntry메시징에 대해 설정된 코드 액세스 보안 권한의 최소 단위를 정의합니다.
MessageQueuePermissionEntryCollectionMessageQueuePermissionEntry 개체의 강력한 형식의 컬렉션을 포함합니다.
MessageQueueTransaction메시지 큐 내부 트랜잭션을 제공합니다.
MessagingDescriptionAttribute속성 또는 이벤트에 대한 설명을 지정합니다.
PeekCompletedEventArgsPeekCompleted 이벤트에 대한 데이터를 제공합니다. 비동기 피킹(peeking) 작업에서 이벤트 처리기가 호출되면 이 클래스의 인스턴스가 해당 처리기로 전달됩니다.
ReceiveCompletedEventArgsReceiveCompleted 이벤트에 대한 데이터를 제공합니다. 비동기 수신 작업에서 이벤트 처리기가 호출되면 이 클래스의 인스턴스가 해당 처리기로 전달됩니다.
SecurityContext큐의 메시지에 대한 보안 컨텍스트를 나타냅니다.
Trustee사용자 계정, 그룹 계정 또는 액세스 제어 항목이 적용되는 로그온 세션을 지정합니다.
XmlMessageFormatterXSD 스키마 정의에 기반한 XML 형식을 사용하여 개체를 메시지 본문 간에 serialize 및 deserialize합니다.

  인터페이스설명
IMessageFormatter메시지 큐 메시지 본문에서 개체를 serialize하거나 deserialize합니다.

  대리자설명
PeekCompletedEventHandlerMessageQueuePeekCompleted 이벤트를 처리할 메서드를 나타냅니다.
ReceiveCompletedEventHandlerMessageQueueReceiveCompleted 이벤트를 처리할 메서드를 나타냅니다.

  열거형설명
AccessControlEntryType트러스티에 대한 액세스 권한을 허용, 거부 또는 취소하도록 지정합니다.
AcknowledgeTypes메시지 큐에서 보내는 응용 프로그램으로 반환하는 승인 메시지의 형식을 지정합니다.
Acknowledgment시도된 메시지 배달 결과를 지정합니다.
CryptographicProviderType디지털 서명 확인을 위한 암호화 서비스 공급자를 지정합니다.
EncryptionAlgorithm개인 메시지의 본문을 암호화하는 데 사용되는 암호화 알고리즘을 지정합니다.
EncryptionRequired큐에서 받은 메시지의 개인 정보 수준을 지정합니다.
GenericAccessRightsWindows 2000 및 Windows NT 액세스 형식을 사용하여 메시지 큐가 읽기, 쓰기 및 실행에 대한 표준 액세스 권한과 개체별 액세스 권한으로 모두 매핑하는 일반적인 액세스 권한 집합을 설정합니다.
HashAlgorithm메시지를 인증할 때 메시지 큐에서 사용되는 해시 알고리즘을 지정합니다.
MessageLookupAction메시지 큐에서 피킹하거나 받을 메시지를 지정합니다.
MessagePriority메시지가 큐로 이동하고 대상 큐에 삽입될 때 메시지 큐가 메시지에 적용하는 우선 순위를 지정합니다.
MessageQueueAccessRights메시지 큐 관련 작업에 대한 개체별 액세스 권한 집합을 지정합니다.
MessageQueueErrorCode메시지 큐 응용 프로그램에서 발생하고 MessageQueueException 예외를 생성한 오류의 원인을 식별합니다.
MessageQueuePermissionAccessSystem.Messaging 권한 클래스에서 사용되는 액세스 수준을 정의합니다.
MessageQueueTransactionStatus내부 메시지 큐 트랜잭션의 상태를 지정합니다.
MessageQueueTransactionType메시지 큐 트랜잭션 형식을 지정합니다.
MessageType메시지 형식을 식별합니다. 메시지에는 일반 메시지 큐 메시지, 긍정(도착 및 읽기) 또는 부정(도착 및 읽기) 승인 메시지 또는 보고 메시지가 있습니다.
PeekAction큐의 현재 메시지를 피킹할지 또는 다음 메시지를 피킹할지 여부를 나타냅니다.
QueueAccessModeMessageQueue를 만들 때 이 큐의 액세스 모드를 지정합니다.
StandardAccessRights대부분의 보안 가능한 개체 형식에 공통되는 작업에 대한 표준 액세스 권한 집합을 지정합니다.
TrusteeType트러스티 형식을 지정합니다.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft