Поделиться через


MessageQueueCriteria Класс

Определение

Фильтрует очереди сообщений при выполнении запроса с использованием метода MessageQueue класса GetPublicQueues().

public ref class MessageQueueCriteria
public class MessageQueueCriteria
type MessageQueueCriteria = class
Public Class MessageQueueCriteria
Наследование
MessageQueueCriteria

Примеры

В следующем примере выполняется перебирание очередей сообщений и отображается путь к каждой очереди, созданной за последний день и существующей на компьютере 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

Комментарии

Класс MessageQueue предоставляет ряд методов, позволяющих фильтровать поиск общедоступных очередей в сети. Конкретными методами фильтрации по метки очереди, категории или расположению GetPublicQueuesByLabelсервера являются , GetPublicQueuesByCategoryи GetPublicQueuesByMachine.

Класс MessageQueueCriteria при использовании с методом GetPublicQueues позволяет уточнить фильтр. Вы можете указать условия поиска, которые не рассматриваются специально с помощью одного из GetPublicQueuesByметодов * или нескольких критериев. Вы можете передать MessageQueueCriteria экземпляр в GetPublicQueues метод для поиска, например по времени создания или изменения очереди, компьютеру, на котором находится очередь, метке или категории очереди или любому сочетанию этих свойств.

При фильтрации по нескольким свойствам критерии составляются путем применения AND оператора к набору свойств. Таким образом, при указании значения свойства CreatedAfter вместе со свойством MachineName запрашиваются все очереди, созданные по истечении указанного времени и находящиеся на определенном компьютере.

При установке любого свойства метод, задающий свойство, также устанавливает флаг, указывающий, что оно должно быть включено в создаваемый фильтр. Отдельные свойства нельзя удалить из фильтра поиска. Вместо этого вы удаляете все свойства из фильтра, вызывая ClearAll, а затем задаете свойства, которые требуется встроить в фильтр поиска. ClearAll сбрасывает все свойства в состояние "не задано" по умолчанию.

Прежде чем пытаться прочитать его, необходимо задать свойство . В противном случае возникает исключение.

Конструкторы

MessageQueueCriteria()

Инициализирует новый экземпляр класса MessageQueueCriteria.

Свойства

Category

Получает или задает категорию, по которой фильтруются очереди в сети.

CreatedAfter

Получает или задает нижнюю границу для даты и времени создания очереди, используемую для фильтрации очередей в сети.

CreatedBefore

Получает или задает верхнюю границу даты и времени создания очереди, которая используется для фильтрации очередей в сети.

Label

Получает или задает метку, по которой фильтруются очереди в сети.

MachineName

Получает или задает имя компьютера, по которому фильтруются очереди в сети.

ModifiedAfter

Получает или задает нижнюю границу для даты и времени изменения очереди, которая используются для фильтрации очередей в сети.

ModifiedBefore

Получает или задает верхнюю границу для даты и времени изменения очереди, которая используются для фильтрации очередей в сети.

Методы

ClearAll()

Очищает все свойства, входящие в фильтр, и устанавливает значения всех свойств в состояние "не установлено".

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел