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