MessageQueue.GetAllMessages 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回佇列中的所有訊息。
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[]
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 。
下表顯示此方法是否可在各種工作組模式中使用。
工作組模式 | 可用 |
---|---|
本機電腦 | 是 |
本機計算機和直接格式名稱 | 是 |
遠端電腦 | 否 |
遠端電腦和直接格式名稱 | 是 |