MessageQueueCriteria Classe

Definição

Filtra as filas de mensagens ao realizar uma consulta usando o MessageQueue método da GetPublicQueues() classe.

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

Exemplos

O exemplo seguinte percorre as filas de mensagens e mostra o caminho de cada fila 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

Observações

A MessageQueue aula fornece vários métodos que lhe permitem filtrar a sua pesquisa por filas públicas na rede. Métodos específicos para filtrar por etiqueta de fila, categoria ou localização do servidor são , GetPublicQueuesByLabelGetPublicQueuesByCategory, e GetPublicQueuesByMachine.

A MessageQueueCriteria classe, quando usada com o GetPublicQueues método, permite-te refinar o teu filtro. Pode especificar critérios de pesquisa que não sejam especificamente abordados através de um dos GetPublicQueuesBymétodos *, ou por múltiplos critérios. Pode passar uma MessageQueueCriteria instância para o GetPublicQueues método para pesquisar, por exemplo, por tempos de criação ou modificação da fila, o computador onde a fila reside, o rótulo ou categoria da fila, ou qualquer combinação destas propriedades.

Ao filtrar por múltiplas propriedades, os critérios são compostos aplicando o AND operador ao conjunto de propriedades. Assim, quando especifica um valor para a CreatedAfter propriedade juntamente com a MachineName propriedade, está a pedir todas as filas que foram criadas após um tempo especificado e que residem num computador específico.

Quando defines qualquer propriedade, o método que define a propriedade também define uma flag para indicar que deve ser incluída no filtro que estás a construir. Não pode remover propriedades individuais do filtro de pesquisa. Em vez disso, removes todas as propriedades do filtro chamando ClearAll, e depois defines as propriedades que queres construir no filtro de pesquisa. ClearAll reinicia todas as propriedades para o estado padrão "não definido".

Deve definir uma propriedade antes de tentar lê-la; caso contrário, é lançada uma exceção.

Construtores

Name Description
MessageQueueCriteria()

Inicializa uma nova instância da MessageQueueCriteria classe.

Propriedades

Name Description
Category

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

CreatedAfter

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

CreatedBefore

Obtém ou define o limite superior da data e hora de criação da fila para 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 para filtrar as filas na rede.

ModifiedBefore

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

Métodos

Name Description
ClearAll()

Limpa todas as propriedades de serem integradas num filtro e coloca todos os valores de propriedade num estado "não definido".

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também