Поделиться через


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 .

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.

Режим рабочей группы В наличии
Локальный компьютер Да
Имя локального компьютера и прямого формата Да
Удаленный компьютер Нет
Имя удаленного компьютера и прямого формата Да

Применяется к

См. также раздел