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) |