MessageQueueCriteria Класс

Определение

Фильтрует очереди сообщений при выполнении запроса с использованием метода MessageQueue класса GetPublicQueues().Filters message queues when performing a query using the MessageQueue class's GetPublicQueues() method.

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

Примеры

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

#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 Класс предоставляет ряд методов, позволяющих фильтровать поиск публичных очередей в сети.The MessageQueue class provides a number of methods that enable you to filter your search for public queues on the network. Конкретные методы фильтрации по метке очереди, категории или расположению сервера: GetPublicQueuesByLabel, GetPublicQueuesByCategoryи GetPublicQueuesByMachine.Specific methods for filtering by queue label, category, or server location are the GetPublicQueuesByLabel, GetPublicQueuesByCategory, and GetPublicQueuesByMachine.

Класс при использовании GetPublicQueues с методом позволяет уточнить фильтр. MessageQueueCriteriaThe MessageQueueCriteria class, when used with the GetPublicQueues method, allows you to refine your filter. Можно указать условия поиска, не адресованные специально с помощью одного GetPublicQueuesByиз методов * или нескольких критериев.You can specify search criteria not specifically addressed through one of the GetPublicQueuesBy* methods, or by multiple criteria. MessageQueueCriteria Экземпляр можно передать GetPublicQueues в метод для поиска, например путем создания очереди или изменения времени, компьютера, на котором находится очередь, метки очереди или категории или любого сочетания этих свойств.You can pass a MessageQueueCriteria instance into the GetPublicQueues method in order to search, for example, by queue creation or modification times, the computer the queue resides on, the queue label or category, or any combination of these properties.

При фильтрации по нескольким свойствам критерии формируются путем применения AND оператора к набору свойств.When filtering by multiple properties, the criteria are composed by applying the AND operator to the set of properties. Поэтому при указании значения CreatedAfter свойства вместе MachineName со свойством запрашиваются все очереди, созданные по истечении указанного времени и находящиеся на определенном компьютере.Thus, when you specify a value for the CreatedAfter property together with the MachineName property, you are asking for all queues that were created after a specified time and that reside on a specific computer.

При задании любого свойства метод, который задает свойство, также устанавливает флаг, указывающий, что он должен быть добавлен в создаваемый фильтр.When you set any property, the method that sets the property also sets a flag to indicate that it should be included in the filter you are building. Нельзя удалить отдельные свойства из фильтра поиска.You cannot remove individual properties from the search filter. Вместо этого необходимо удалить все свойства из фильтра, вызвав ClearAllметод, а затем задать свойства, которые требуется построить в фильтре поиска.Instead, you remove all properties from the filter by calling ClearAll, and then set the properties that you do want to build into the search filter. ClearAllСбрасывает все свойства в состояние по умолчанию "не задано".ClearAll resets all properties into a "not set" default state.

Прежде чем пытаться прочитать его, необходимо задать свойство. в противном случае создается исключение.You must set a property before trying to read it; otherwise, an exception is thrown.

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

MessageQueueCriteria()

Инициализирует новый экземпляр класса MessageQueueCriteria.Initializes a new instance of the MessageQueueCriteria class.

Свойства

Category

Получает или задает категорию, по которой фильтруются очереди в сети.Gets or sets the category by which to filter queues in the network.

CreatedAfter

Получает или задает нижнюю границу для даты и времени создания очереди, используемую для фильтрации очередей в сети.Gets or sets the lower boundary of the queue creation date and time by which to filter queues on the network.

CreatedBefore

Получает или задает верхнюю границу даты и времени создания очереди, которая используется для фильтрации очередей в сети.Gets or sets the upper boundary of the queue creation date and time by which to filter queues on the network.

Label

Получает или задает метку, по которой фильтруются очереди в сети.Gets or sets the label by which to filter queues in the network.

MachineName

Получает или задает имя компьютера, по которому фильтруются очереди в сети.Gets or sets the computer name by which to filter queues in the network.

ModifiedAfter

Получает или задает нижнюю границу для даты и времени изменения очереди, которая используются для фильтрации очередей в сети.Gets or sets the lower boundary of the queue modification date and time by which to filter queues on the network.

ModifiedBefore

Получает или задает верхнюю границу для даты и времени изменения очереди, которая используются для фильтрации очередей в сети.Gets or sets the upper boundary of the queue modification date and time by which to filter queues on the network.

Методы

ClearAll()

Очищает все свойства, входящие в фильтр, и устанавливает значения всех свойств в состояние "не установлено".Clears all properties from being built into a filter and puts all property values into a "not set" state.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

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

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

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

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

Дополнительно