MessageQueue.GetMessageQueueEnumerator Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar ett uppräkningsobjekt för en dynamisk lista över de offentliga köerna i nätverket.
Överlagringar
| Name | Description |
|---|---|
| GetMessageQueueEnumerator() |
Tillhandahåller markörsemantik för vidarebefordran för att räkna upp genom alla offentliga köer i nätverket. |
| GetMessageQueueEnumerator(MessageQueueCriteria) |
Tillhandahåller markörsemantik för vidarebefordran för att räkna upp genom alla offentliga köer i nätverket som uppfyller de angivna kriterierna. |
GetMessageQueueEnumerator()
Tillhandahåller markörsemantik för vidarebefordran för att räkna upp genom alla offentliga köer i nätverket.
public:
static System::Messaging::MessageQueueEnumerator ^ GetMessageQueueEnumerator();
public static System.Messaging.MessageQueueEnumerator GetMessageQueueEnumerator();
static member GetMessageQueueEnumerator : unit -> System.Messaging.MessageQueueEnumerator
Public Shared Function GetMessageQueueEnumerator () As MessageQueueEnumerator
Returer
En MessageQueueEnumerator som ger en dynamisk lista över alla offentliga meddelandeköer i nätverket.
Exempel
Följande kodexempel itererar genom alla meddelandeköer i nätverket och undersöker sökvägen för varje kö. Slutligen visas antalet offentliga köer i nätverket.
#using <System.dll>
#using <System.Messaging.dll>
using namespace System;
using namespace System::Messaging;
//**************************************************
// Iterates through message queues and examines the
// path for each queue. Also displays the number of
// public queues on the network.
//**************************************************
void ListPublicQueues()
{
// Holds the count of private queues.
int numberQueues = 0;
// Get a cursor into the queues on the network.
MessageQueueEnumerator^ myQueueEnumerator = MessageQueue::GetMessageQueueEnumerator();
// Move to the next queue and read its path.
while ( myQueueEnumerator->MoveNext() )
{
// Increase the count if priority is Lowest.
Console::WriteLine( myQueueEnumerator->Current->Path );
numberQueues++;
}
// Display final count.
Console::WriteLine( "Number of public queues: {0}", numberQueues );
return;
}
//**************************************************
// Provides an entry point into the application.
//
// This example uses a cursor to step through the
// message queues and list the public queues on the
// network.
//**************************************************
int main()
{
// Output the count of Lowest priority messages.
ListPublicQueues();
}
using System;
using System.Messaging;
namespace MyProject
{
/// <summary>
/// Provides a container class for the example.
/// </summary>
public class MyNewQueue
{
//**************************************************
// Provides an entry point into the application.
//
// This example uses a cursor to step through the
// message queues and list the public queues on the
// network.
//**************************************************
public static void Main()
{
// Create a new instance of the class.
MyNewQueue myNewQueue = new MyNewQueue();
// Output the count of Lowest priority messages.
myNewQueue.ListPublicQueues();
return;
}
//**************************************************
// Iterates through message queues and examines the
// path for each queue. Also displays the number of
// public queues on the network.
//**************************************************
public void ListPublicQueues()
{
// Holds the count of private queues.
uint numberQueues = 0;
// Get a cursor into the queues on the network.
MessageQueueEnumerator myQueueEnumerator =
MessageQueue.GetMessageQueueEnumerator();
// Move to the next queue and read its path.
while(myQueueEnumerator.MoveNext())
{
// Increase the count if priority is Lowest.
Console.WriteLine(myQueueEnumerator.Current.Path);
numberQueues++;
}
// Display final count.
Console.WriteLine("Number of public queues: " +
numberQueues.ToString());
return;
}
}
}
Imports System.Messaging
Public Class MyNewQueue
' Provides an entry point into the application.
'
' This example uses a cursor to step through the
' message queues and list the public queues on the
' network.
Public Shared Sub Main()
' Create a new instance of the class.
Dim myNewQueue As New MyNewQueue()
' Output the count of Lowest priority messages.
myNewQueue.ListPublicQueues()
Return
End Sub
' Iterates through message queues and examines the
' path for each queue. Also displays the number of
' public queues on the network.
Public Sub ListPublicQueues()
' Holds the count of private queues.
Dim numberQueues As Int32 = 0
' Get a cursor into the queues on the network.
Dim myQueueEnumerator As MessageQueueEnumerator = _
MessageQueue.GetMessageQueueEnumerator()
' Move to the next queue and read its path.
While myQueueEnumerator.MoveNext()
' Increase the count if the priority is Lowest.
Console.WriteLine(myQueueEnumerator.Current.Path)
numberQueues += 1
End While
' Display final count.
Console.WriteLine(("Number of public queues: " + _
numberQueues.ToString()))
Return
End Sub
End Class
Kommentarer
Den här överbelastningen GetMessageQueueEnumerator returnerar en uppräkning av alla offentliga köer som finns i nätverket.
Eftersom markören är associerad med en dynamisk lista återspeglar uppräkningen alla ändringar du gör i en kölista för köer som tagits bort eller lagts till utanför markörens aktuella position. Tillägg eller borttagning av köer som finns innan markörens aktuella position återspeglas inte. Uppräknaren kan till exempel automatiskt komma åt en kö som läggs till utanför markörens position, men inte en som infogats före den positionen. Du kan dock återställa uppräkningen och därmed flytta markören tillbaka till början av listan genom att anropa Reset för MessageQueueEnumerator.
Det finns ingen definierad ordning på köer i ett nätverk. En uppräknare beställer dem inte, till exempel efter dator, etikett, offentlig eller privat status eller andra tillgängliga kriterier.
Om du vill ha en statisk ögonblicksbild av köerna i nätverket i stället för en dynamisk anslutning till dem anropar GetPublicQueues du eller GetPrivateQueuesByMachine(String). Var och en av dessa två metoder returnerar en matris med MessageQueue objekt, som representerar köerna vid den tidpunkt då metoden anropades.
I följande tabell visas om den här metoden är tillgänglig i olika arbetsgruppslägen.
| Arbetsgruppsläge | Tillgängligt |
|---|---|
| Lokal dator | No |
| Namn på lokal dator och direktformat | No |
| Fjärrdator | No |
| Namn på fjärrdator och direktformat | No |
Se även
Gäller för
GetMessageQueueEnumerator(MessageQueueCriteria)
Tillhandahåller markörsemantik för vidarebefordran för att räkna upp genom alla offentliga köer i nätverket som uppfyller de angivna kriterierna.
public:
static System::Messaging::MessageQueueEnumerator ^ GetMessageQueueEnumerator(System::Messaging::MessageQueueCriteria ^ criteria);
public static System.Messaging.MessageQueueEnumerator GetMessageQueueEnumerator(System.Messaging.MessageQueueCriteria criteria);
static member GetMessageQueueEnumerator : System.Messaging.MessageQueueCriteria -> System.Messaging.MessageQueueEnumerator
Public Shared Function GetMessageQueueEnumerator (criteria As MessageQueueCriteria) As MessageQueueEnumerator
Parametrar
- criteria
- MessageQueueCriteria
En MessageQueueCriteria som innehåller de villkor som används för att filtrera de tillgängliga meddelandeköerna.
Returer
En MessageQueueEnumerator som ger en dynamisk lista över de offentliga meddelandeköerna i nätverket som uppfyller de begränsningar som anges av parametern criteria .
Exempel
Följande kodexempel itererar genom meddelandeköer och visar sökvägen till varje kö som skapades under den senaste dagen och som finns på datorn "MyComputer".
#using <system.dll>
#using <system.messaging.dll>
using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:
// Iterates through message queues and displays the
// path of each queue that was created in the last
// day and that exists on the computer "MyComputer".
void ListPublicQueuesByCriteria()
{
UInt32 numberQueues = 0;
// Specify the criteria to filter by.
MessageQueueCriteria^ myCriteria = gcnew MessageQueueCriteria;
myCriteria->MachineName = "MyComputer";
myCriteria->CreatedAfter = DateTime::Now.Subtract( TimeSpan(1,0,0,0) );
// Get a cursor into the queues on the network.
MessageQueueEnumerator^ myQueueEnumerator = MessageQueue::GetMessageQueueEnumerator( myCriteria );
// Move to the next queue and read its path.
while ( myQueueEnumerator->MoveNext() )
{
// Increase the count if priority is Lowest.
Console::WriteLine( myQueueEnumerator->Current->Path );
numberQueues++;
}
// Handle no queues matching the criteria.
if ( numberQueues == 0 )
{
Console::WriteLine( "No public queues match criteria." );
}
return;
}
};
int main()
{
// Create a new instance of the class.
MyNewQueue^ myNewQueue = gcnew MyNewQueue;
// Output the count of Lowest priority messages.
myNewQueue->ListPublicQueuesByCriteria();
return 0;
}
using System;
using System.Messaging;
namespace MyProject
{
/// <summary>
/// Provides a container class for the example.
/// </summary>
public class MyNewQueue
{
//**************************************************
// Provides an entry point into the application.
//
// This example uses a cursor to step through the
// message queues and list the public queues on the
// network that specify certain criteria.
//**************************************************
public static void Main()
{
// Create a new instance of the class.
MyNewQueue myNewQueue = new MyNewQueue();
// Output the count of Lowest priority messages.
myNewQueue.ListPublicQueuesByCriteria();
return;
}
//**************************************************
// Iterates through message queues and displays the
// path of each queue that was created in the last
// day and that exists on the computer "MyComputer".
//**************************************************
public void ListPublicQueuesByCriteria()
{
uint numberQueues = 0;
// Specify the criteria to filter by.
MessageQueueCriteria myCriteria = new
MessageQueueCriteria();
myCriteria.MachineName = "MyComputer";
myCriteria.CreatedAfter = DateTime.Now.Subtract(new
TimeSpan(1,0,0,0));
// Get a cursor into the queues on the network.
MessageQueueEnumerator myQueueEnumerator =
MessageQueue.GetMessageQueueEnumerator(myCriteria);
// Move to the next queue and read its path.
while(myQueueEnumerator.MoveNext())
{
// Increase the count if priority is Lowest.
Console.WriteLine(myQueueEnumerator.Current.Path);
numberQueues++;
}
// Handle no queues matching the criteria.
if (numberQueues == 0)
{
Console.WriteLine("No public queues match criteria.");
}
return;
}
}
}
Imports System.Messaging
Public Class MyNewQueue
'
' Provides an entry point into the application.
'
' This example uses a cursor to step through the
' message queues and list the public queues on the
' network that specify certain criteria.
Public Shared Sub Main()
' Create a new instance of the class.
Dim myNewQueue As New MyNewQueue()
' Output the count of Lowest priority messages.
myNewQueue.ListPublicQueuesByCriteria()
Return
End Sub
' Iterates through message queues and displays the
' path of each queue that was created in the last
' day and that exists on the computer "MyComputer".
Public Sub ListPublicQueuesByCriteria()
Dim numberQueues As Int32 = 0
' Specify the criteria to filter by.
Dim myCriteria As New MessageQueueCriteria()
myCriteria.MachineName = "MyComputer"
myCriteria.CreatedAfter = DateTime.Now.Subtract(New _
TimeSpan(1, 0, 0, 0))
' Get a cursor into the queues on the network.
Dim myQueueEnumerator As MessageQueueEnumerator = _
MessageQueue.GetMessageQueueEnumerator(myCriteria)
' Move to the next queue and read its path.
While myQueueEnumerator.MoveNext()
' Increase the count if the priority is Lowest.
Console.WriteLine(myQueueEnumerator.Current.Path)
numberQueues += 1
End While
' Handle no queues matching the criteria.
If numberQueues = 0 Then
Console.WriteLine("No queues match the criteria.")
End If
Return
End Sub
End Class
Kommentarer
Den här överbelastningen GetMessageQueueEnumerator returnerar en lista över alla offentliga köer i nätverket som uppfyller de kriterier som definierats i programvillkoren. Du kan ange de villkor som ska inkludera till exempel tid för att skapa eller ändra kö, datornamn, etikett, kategori eller valfri kombination av dessa.
Eftersom markören är associerad med en dynamisk lista återspeglar uppräkningen alla ändringar du gör i en kö som inträffar utanför markörens aktuella position. Ändringar i köer som finns innan markörens aktuella position återspeglas inte. Uppräknaren kan till exempel automatiskt komma åt en kö som läggs till utanför markörens position, men inte en som infogats före den positionen. Du kan dock återställa uppräkningen och därmed flytta markören tillbaka till början av listan genom att anropa Reset för MessageQueueEnumerator.
Det finns ingen definierad ordning på köer i ett nätverk. En uppräknare beställer dem inte, till exempel efter dator, etikett, offentlig eller privat status eller andra tillgängliga kriterier.
Om du vill ha en statisk ögonblicksbild av köerna i nätverket i stället för en dynamisk anslutning till dem anger du villkor för GetPublicQueues eller anropar GetPrivateQueuesByMachine(String). Var och en av dessa två metoder returnerar en matris med MessageQueue objekt, som representerar köerna vid den tidpunkt då metoden anropades. Anropa GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String), eller GetPublicQueuesByMachine(String) ger samma resultat som att anropa GetPublicQueues med filtreringsvillkoren Categoryför , Labelrespektive MachineName.
I följande tabell visas om den här metoden är tillgänglig i olika arbetsgruppslägen.
| Arbetsgruppsläge | Tillgängligt |
|---|---|
| Lokal dator | No |
| Namn på lokal dator och direktformat | No |
| Fjärrdator | No |
| Namn på fjärrdator och direktformat | No |