다음을 통해 공유


MessageQueue.GetAllMessages 메서드

정의

큐에 있는 메시지를 모두 반환합니다.

public:
 cli::array <System::Messaging::Message ^> ^ GetAllMessages();
public System.Messaging.Message[] GetAllMessages ();
member this.GetAllMessages : unit -> System.Messaging.Message[]
Public Function GetAllMessages () As Message()

반환

큐에 있는 모든 메시지를 메시지 큐에서 표시되는 것과 동일한 순서로 나타내는 Message 형식의 배열입니다.

예외

메시지 큐 메서드에 액세스하는 동안 오류가 발생한 경우

예제

다음 코드 예제에서는 GetAllMessages의 사용법을 보여줍니다.


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Populate an array with copies of all the messages in the queue.
array<Message^>^ msgs = queue->GetAllMessages();

// Loop through the messages.
for each(Message^ msg in msgs)
{
    // Display the label of each message.
    Console::WriteLine(msg->Label);
}

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Populate an array with copies of all the messages in the queue.
Message[] msgs = queue.GetAllMessages();

// Loop through the messages.
foreach(Message msg in msgs)
{
    // Display the label of each message.
    Console.WriteLine(msg.Label);
}

설명

GetAllMessages는 해당 메시지에 대한 동적 링크가 아니라 큐에 있는 메시지의 정적 스냅샷 반환합니다. 따라서 배열을 사용하여 큐의 메시지를 수정할 수 없습니다. 메시지를 삭제하는 기능과 같이 큐와 실시간 동적 상호 작용을 원하는 경우 메서드를 호출 GetMessageEnumerator2 하여 큐에 있는 메시지의 동적 목록을 반환합니다.

GetAllMessages 메서드가 호출될 때 큐에 있는 메시지의 복사본을 반환하므로 배열은 큐에 도착하는 새 메시지 또는 큐에서 제거된 메시지를 반영하지 않습니다.

GetAllMessages 는 속성으로 필터링되지 않은 속성만 검색합니다 MessageReadPropertyFilter .

다음 표에서는 이 메서드를 다양한 작업 그룹 모드에서 사용할 수 있는지 여부를 보여 줍니다.

작업 그룹 모드 사용 가능
수집 Yes
로컬 컴퓨터 및 직접 형식 이름 Yes
원격 컴퓨터 No
원격 컴퓨터 및 직접 형식 이름 Yes

적용 대상

추가 정보