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 .
В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.
Режим рабочей группы | Доступно |
---|---|
Локальный компьютер | Да |
Имя локального компьютера и прямого формата | Да |
Удаленный компьютер | Нет |
Имя удаленного компьютера и прямого формата | Да |