Compartilhar via


MessageQueueCriteria Classe

Definição

Filtra filas de mensagens ao executar uma consulta usando a classe MessageQueue, método GetPublicQueues().

public ref class MessageQueueCriteria
public class MessageQueueCriteria
type MessageQueueCriteria = class
Public Class MessageQueueCriteria
Herança
MessageQueueCriteria

Exemplos

O exemplo a seguir itera por meio de filas de mensagens e exibe o caminho de cada fila que foi criada no último dia e que existe no computador "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

Comentários

A MessageQueue classe fornece vários métodos que permitem filtrar sua pesquisa por filas públicas na rede. Os métodos específicos para filtragem por rótulo de fila, categoria ou local do servidor são , GetPublicQueuesByLabelGetPublicQueuesByCategorye GetPublicQueuesByMachine.

A MessageQueueCriteria classe , quando usada com o GetPublicQueues método , permite refinar o filtro. Você pode especificar critérios de pesquisa não abordados especificamente por meio de um dos GetPublicQueuesBymétodos * ou por vários critérios. Você pode passar uma MessageQueueCriteria instância para o GetPublicQueues método para pesquisar, por exemplo, por tempos de criação ou modificação de fila, o computador em que a fila reside, o rótulo ou categoria da fila ou qualquer combinação dessas propriedades.

Ao filtrar por várias propriedades, os critérios são compostos aplicando o AND operador ao conjunto de propriedades. Portanto, ao especificar um valor para a CreatedAfter propriedade junto com a MachineName propriedade , você está solicitando todas as filas que foram criadas após um horário especificado e que residem em um computador específico.

Quando você define qualquer propriedade, o método que define a propriedade também define um sinalizador para indicar que ela deve ser incluída no filtro que você está criando. Não é possível remover propriedades individuais do filtro de pesquisa. Em vez disso, remova todas as propriedades do filtro chamando ClearAlle defina as propriedades que deseja criar no filtro de pesquisa. ClearAll redefine todas as propriedades em um estado padrão "não definido".

Você deve definir uma propriedade antes de tentar lê-la; caso contrário, uma exceção será gerada.

Construtores

MessageQueueCriteria()

Inicializa uma nova instância da classe MessageQueueCriteria.

Propriedades

Category

Obtém ou define a categoria pelo qual filtrar filas na rede.

CreatedAfter

Obtém ou define o limite inferior da data e hora de criação da fila pela qual filtrar as filas na rede.

CreatedBefore

Obtém ou define o limite superior da data e hora de criação da fila pelas quais filtrar as filas na rede.

Label

Obtém ou define o rótulo pelo qual filtrar as filas na rede.

MachineName

Obtém ou define o nome do computador pelo qual filtrar as filas na rede.

ModifiedAfter

Obtém ou define o limite inferior da data e hora de modificação da fila pela qual filtrar as filas na rede.

ModifiedBefore

Obtém ou define o limite superior da data e hora de modificação da fila pelas quais filtrar as filas na rede.

Métodos

ClearAll()

Remove todas as propriedades para que não fiquem internas a um filtro e coloca todos os valores de propriedade em um estado "não configurado".

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também