MessageQueueEnumerator Klasa

Definicja

Udostępnia kursor tylko do przodu, który ma być wyliczany za pośrednictwem komunikatów w kolejce komunikatów.

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
Dziedziczenie
MessageQueueEnumerator
Implementuje

Przykłady

Poniższy przykład kodu iteruje wszystkie kolejki komunikatów w sieci i analizuje ścieżkę dla każdej kolejki. Na koniec wyświetla liczbę kolejek publicznych w sieci.

#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

Uwagi

Służy MessageQueueEnumerator do dynamicznej interakcji z kolejkami w sieci. Metody dostępne za pośrednictwem MessageQueue klasy mogą zwracać MessageQueueEnumerator listę dynamiczną kolejek lub tablicę zawierającą migawkę kolekcji kolejek w momencie wywołania określonej metody.

W sieci nie ma zdefiniowanej kolejności kolejek. Nie są one uporządkowane, na przykład przez komputer, etykietę, stan publiczny lub prywatny lub inne kryteria dostępne dla użytkownika. A MessageQueueEnumerator jest kursorem zainicjowanym na czele listy dynamicznej. Kursor można przenieść do pierwszej kolejki wyliczenia, wywołując polecenie MoveNext. Po zainicjowaniu modułu wyliczającego możesz użyć MoveNext polecenia , aby przejść do przodu przez pozostałe kolejki.

Nie można przejść wstecz za pomocą polecenia MessageQueueEnumerator. Kursor umożliwia tylko ruch do przodu przez wyliczenie kolejki. Można jednak wywołać metodę Reset resetowania wyliczenia i ponownie umieścić kursor na początku listy. Ponieważ moduł wyliczający jest dynamiczny, kolejka dołączona poza bieżącą pozycją kursora może być dostępna przez moduł wyliczający. Nie można uzyskać dostępu do kolejki wstawionej przed uzyskaniem dostępu do bieżącej pozycji kursora bez uprzedniego wywołania funkcji Resetuj.

Właściwości

Current

Pobiera bieżącą wartość MessageQueue wyliczenia.

LocatorHandle

Pobiera natywny uchwyt kolejkowania komunikatów używany do lokalizowania kolejek w sieci.

Metody

Close()

Zwalnia zasoby skojarzone z modułem wyliczania.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element MessageQueueEnumerator.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element MessageQueueEnumerator i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia zasoby przechowywane przez kolejkę.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
MoveNext()

Rozwija moduł wyliczający do następnej kolejki wyliczenia, jeśli jest obecnie dostępny.

Reset()

Resetuje kursor, więc wskazuje na początek wyliczenia.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IEnumerator.Current

Pobiera bieżącą wartość MessageQueue wyliczenia.

Dotyczy

Zobacz też