Condividi tramite


MessageQueueCriteria Classe

Definizione

Filtra le code dei messaggi durante l'esecuzione di una query, mediante il metodo MessageQueue della classe GetPublicQueues().

public ref class MessageQueueCriteria
public class MessageQueueCriteria
type MessageQueueCriteria = class
Public Class MessageQueueCriteria
Ereditarietà
MessageQueueCriteria

Esempio

Nell'esempio seguente viene eseguito l'iterazione delle code di messaggi e viene visualizzato il percorso di ogni coda creata nell'ultimo giorno e presente nel computer "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

Commenti

La MessageQueue classe fornisce diversi metodi che consentono di filtrare la ricerca di code pubbliche nella rete. I metodi specifici per filtrare in base all'etichetta della coda, alla categoria o al percorso del server sono , GetPublicQueuesByLabelGetPublicQueuesByCategorye GetPublicQueuesByMachine.

La MessageQueueCriteria classe, se usata con il GetPublicQueues metodo , consente di perfezionare il filtro. È possibile specificare criteri di ricerca non affrontati in modo specifico tramite uno dei GetPublicQueuesBymetodi * o da più criteri. È possibile passare un'istanza MessageQueueCriteria al GetPublicQueues metodo per cercare, ad esempio, in base ai tempi di creazione o modifica della coda, il computer in cui risiede la coda, l'etichetta o la categoria della coda o qualsiasi combinazione di queste proprietà.

Quando si filtrano in base a più proprietà, i criteri vengono composti applicando l'operatore AND al set di proprietà. Pertanto, quando si specifica un valore per la proprietà insieme alla CreatedAfterMachineName proprietà , vengono richieste tutte le code create dopo un'ora specificata e che risiedono in un computer specifico.

Quando si imposta una proprietà, il metodo che imposta la proprietà imposta anche un flag per indicare che deve essere incluso nel filtro che si sta creando. Non è possibile rimuovere singole proprietà dal filtro di ricerca. Rimuovere invece tutte le proprietà dal filtro chiamando ClearAlle quindi impostare le proprietà da compilare nel filtro di ricerca. ClearAll reimposta tutte le proprietà in uno stato predefinito "non impostato".

È necessario impostare una proprietà prima di provare a leggerla; in caso contrario, viene generata un'eccezione.

Costruttori

MessageQueueCriteria()

Inizializza una nuova istanza della classe MessageQueueCriteria.

Proprietà

Category

Ottiene o imposta la categoria in base alla quale filtrare le code nella rete.

CreatedAfter

Ottiene o imposta il limite inferiore della data e dell'ora di creazione della coda in base al quale filtrare le code sulla rete.

CreatedBefore

Ottiene o imposta il limite superiore della data e dell'ora di creazione della coda in base al quale filtrare le code sulla rete.

Label

Ottiene o imposta l'etichetta in base alla quale filtrare le code nella rete.

MachineName

Ottiene o imposta il nome del computer in base al quale filtrare le code nella rete.

ModifiedAfter

Ottiene o imposta il limite inferiore della data e dell'ora di modifica della coda in base al quale filtrare le code sulla rete.

ModifiedBefore

Ottiene o imposta il limite superiore della data e dell'ora di modifica della coda in base al quale filtrare le code sulla rete.

Metodi

ClearAll()

Cancella tutte le proprietà in modo che non vengano incorporate nel filtro e imposta tutti i valori delle proprietà sullo stato "non impostato".

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche