MessageQueueEnumerator Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit un curseur de transfert uniquement pour énumérer les messages dans une file d’attente de messages.
public ref class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System::Collections::IEnumerator
public class MessageQueueEnumerator : MarshalByRefObject, IDisposable, System.Collections.IEnumerator
type MessageQueueEnumerator = class
inherit MarshalByRefObject
interface IEnumerator
interface IDisposable
Public Class MessageQueueEnumerator
Inherits MarshalByRefObject
Implements IDisposable, IEnumerator
- Héritage
- Implémente
Exemples
L’exemple de code suivant itère toutes les files d’attente de messages dans le réseau et examine le chemin d’accès de chaque file d’attente. Enfin, il affiche le nombre de files d’attente publiques sur le réseau.
#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
Remarques
Utiliser MessageQueueEnumerator pour l’interaction dynamique avec les files d’attente sur le réseau. Les méthodes disponibles par le biais de la MessageQueue classe peuvent retourner une MessageQueueEnumerator liste dynamique de files d’attente ou un tableau qui contient un instantané de la collection de files d’attente au moment où la méthode spécifiée a été appelée.
Il n’existe aucun classement défini des files d’attente dans un réseau. Elles ne sont pas ordonnées, par exemple, par ordinateur, étiquette, état public ou privé, ou d’autres critères accessibles par l’utilisateur. Il MessageQueueEnumerator s’agit d’un curseur initialisé à la tête d’une liste dynamique. Vous pouvez déplacer le curseur vers la première file d’attente de l’énumération en appelant MoveNext. Une fois l’énumérateur initialisé, vous pouvez l’utiliser MoveNext pour parcourir les files d’attente restantes.
Il n’est pas possible de reculer avec un MessageQueueEnumerator. Un curseur autorise uniquement le déplacement vers l’avant via l’énumération de file d’attente. Toutefois, vous pouvez appeler Reset pour réinitialiser l’énumération et placer le curseur au début de la liste. Étant donné que l’énumérateur est dynamique, une file d’attente ajoutée au-delà de la position actuelle du curseur est accessible par l’énumérateur. Une file d’attente insérée avant que la position actuelle du curseur ne soit accessible sans appeler la réinitialisation.
Propriétés
| Nom | Description |
|---|---|
| Current |
Obtient le courant MessageQueue de l’énumération. |
| LocatorHandle |
Obtient le handle Message Queuing natif utilisé pour localiser les files d’attente dans un réseau. |
Méthodes
| Nom | Description |
|---|---|
| Close() |
Libère les ressources associées à l’énumérateur. |
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Dispose() |
Libère toutes les ressources utilisées par le MessageQueueEnumerator. |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les MessageQueueEnumerator ressources gérées et libère éventuellement les ressources managées. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| Finalize() |
Libère les ressources détenues par la file d’attente. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| MoveNext() |
Avance l’énumérateur vers la file d’attente suivante de l’énumération, si elle est actuellement disponible. |
| Reset() |
Réinitialise le curseur, de sorte qu’il pointe vers le début de l’énumération. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IEnumerator.Current |
Obtient le courant MessageQueue de l’énumération. |