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


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возвращает статическую snapshot сообщений в очереди, а не динамические ссылки на эти сообщения. Поэтому массив нельзя использовать для изменения сообщений в очереди. Если требуется динамическое взаимодействие с очередью в режиме реального времени (например, возможность удаления сообщений), вызовите GetMessageEnumerator2 метод , который возвращает динамический список сообщений в очереди.

Так как GetAllMessages возвращает копию сообщений в очереди во время вызова метода, массив не отражает новые сообщения, поступающие в очередь, или сообщения, удаленные из очереди.

GetAllMessages извлекает только те свойства, которые не отфильтрованы свойством MessageReadPropertyFilter .

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

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

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

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