MessagePropertyFilter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Контролирует и выбирает свойства, извлекаемые при считывании и приеме сообщений из очереди сообщений.
public ref class MessagePropertyFilter
public ref class MessagePropertyFilter : ICloneable
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public class MessagePropertyFilter
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public class MessagePropertyFilter : ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))>]
type MessagePropertyFilter = class
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))>]
type MessagePropertyFilter = class
interface ICloneable
Public Class MessagePropertyFilter
Public Class MessagePropertyFilter
Implements ICloneable
- Наследование
-
MessagePropertyFilter
- Атрибуты
- Реализации
Примеры
В следующем примере кода в очередь отправляется два сообщения с разными приоритетами, а затем извлекается их.
#using <system.dll>
#using <system.messaging.dll>
using namespace System;
using namespace System::Messaging;
/// <summary>
/// Provides a container class for the example.
/// </summary>
ref class MyNewQueue
{
//**************************************************
// Sends a string message to a queue.
//**************************************************
public:
void SendMessage( MessagePriority priority, String^ messageBody )
{
// Connect to a queue on the local computer.
MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
// Create a new message.
Message^ myMessage = gcnew Message;
if ( priority > MessagePriority::Normal )
{
myMessage->Body = "High Priority: {0}",messageBody;
}
else
{
myMessage->Body = messageBody;
}
// Set the priority of the message.
myMessage->Priority = priority;
// Send the Order to the queue.
myQueue->Send( myMessage );
return;
}
//**************************************************
// Receives a message.
//**************************************************
void ReceiveMessage()
{
// Connect to the a queue on the local computer.
MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
// Set the queue to read the priority. By default, it
// is not read.
myQueue->MessageReadPropertyFilter->Priority = true;
// Set the formatter to indicate body contains a String^.
array<Type^>^ p = gcnew array<Type^>(1);
p[ 0 ] = String::typeid;
myQueue->Formatter = gcnew XmlMessageFormatter( p );
try
{
// Receive and format the message.
Message^ myMessage = myQueue->Receive();
// Display message information.
Console::WriteLine( "Priority: {0}",
myMessage->Priority );
Console::WriteLine( "Body: {0}",
myMessage->Body );
}
catch ( MessageQueueException^ )
{
// Handle Message Queuing exceptions.
}
// Handle invalid serialization format.
catch ( InvalidOperationException^ e )
{
Console::WriteLine( e->Message );
}
// Catch other exceptions as necessary.
return;
}
};
//**************************************************
// Provides an entry point into the application.
//
// This example sends and receives a message from
// a queue.
//**************************************************
int main()
{
// Create a new instance of the class.
MyNewQueue^ myNewQueue = gcnew MyNewQueue;
// Send messages to a queue.
myNewQueue->SendMessage( MessagePriority::Normal, "First Message Body." );
myNewQueue->SendMessage( MessagePriority::Highest, "Second Message Body." );
// Receive messages from a queue.
myNewQueue->ReceiveMessage();
myNewQueue->ReceiveMessage();
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 sends and receives a message from
// a queue.
//**************************************************
public static void Main()
{
// Create a new instance of the class.
MyNewQueue myNewQueue = new MyNewQueue();
// Send messages to a queue.
myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body.");
myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body.");
// Receive messages from a queue.
myNewQueue.ReceiveMessage();
myNewQueue.ReceiveMessage();
return;
}
//**************************************************
// Sends a string message to a queue.
//**************************************************
public void SendMessage(MessagePriority priority, string messageBody)
{
// Connect to a queue on the local computer.
MessageQueue myQueue = new MessageQueue(".\\myQueue");
// Create a new message.
Message myMessage = new Message();
if(priority > MessagePriority.Normal)
{
myMessage.Body = "High Priority: " + messageBody;
}
else
{
myMessage.Body = messageBody;
}
// Set the priority of the message.
myMessage.Priority = priority;
// Send the Order to the queue.
myQueue.Send(myMessage);
return;
}
//**************************************************
// Receives a message.
//**************************************************
public void ReceiveMessage()
{
// Connect to the a queue on the local computer.
MessageQueue myQueue = new MessageQueue(".\\myQueue");
// Set the queue to read the priority. By default, it
// is not read.
myQueue.MessageReadPropertyFilter.Priority = true;
// Set the formatter to indicate body contains a string.
myQueue.Formatter = new XmlMessageFormatter(new Type[]
{typeof(string)});
try
{
// Receive and format the message.
Message myMessage = myQueue.Receive();
// Display message information.
Console.WriteLine("Priority: " +
myMessage.Priority.ToString());
Console.WriteLine("Body: " +
myMessage.Body.ToString());
}
catch (MessageQueueException)
{
// Handle Message Queuing exceptions.
}
// Handle invalid serialization format.
catch (InvalidOperationException e)
{
Console.WriteLine(e.Message);
}
// Catch other exceptions as necessary.
return;
}
}
}
Imports System.Messaging
'Provides a container class for the example.
Public Class MyNewQueue
' Provides an entry point into the application.
'
' This example sends and receives a message from
' a queue.
Public Shared Sub Main()
' Create a new instance of the class.
Dim myNewQueue As New MyNewQueue()
' Send messages to a queue.
myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body.")
myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body.")
' Receive messages from a queue.
myNewQueue.ReceiveMessage()
myNewQueue.ReceiveMessage()
Return
End Sub
' Sends a string message to a queue.
Public Sub SendMessage(priority As MessagePriority, messageBody As String)
' Connect to a queue on the local computer.
Dim myQueue As New MessageQueue(".\myQueue")
' Create a new message.
Dim myMessage As New Message()
If priority > MessagePriority.Normal Then
myMessage.Body = "High Priority: " + messageBody
Else
myMessage.Body = messageBody
End If
' Set the priority of the message.
myMessage.Priority = priority
' Send the Order to the queue.
myQueue.Send(myMessage)
Return
End Sub
' Receives a message.
Public Sub ReceiveMessage()
' Connect to the a queue on the local computer.
Dim myQueue As New MessageQueue(".\myQueue")
' Set the queue to read the priority. By default, it
' is not read.
myQueue.MessageReadPropertyFilter.Priority = True
' Set the formatter to indicate body contains a string.
myQueue.Formatter = New XmlMessageFormatter(New Type() {GetType(String)})
Try
' Receive and format the message.
Dim myMessage As Message = myQueue.Receive()
' Display message information.
Console.WriteLine(("Priority: " + myMessage.Priority.ToString()))
Console.WriteLine(("Body: " + myMessage.Body.ToString()))
' Handle invalid serialization format.
Catch e As InvalidOperationException
Console.WriteLine(e.Message)
End Try
' Catch other exceptions as necessary.
Return
End Sub
End Class
Комментарии
Установка в MessagePropertyFilter экземпляре MessageQueue управляет набором свойств, которые извлекаются при просмотре или получении сообщения. Фильтр задается для экземпляра , MessageQueue который извлекает сведения о сообщении. Если для элемента false
с логическим значением задано MessagePropertyFilter значение , необходимо запретить получение сведений о связанном Message свойстве MessageQueueобъектом .
Существует несколько свойств фильтра, которые не являются логическими значениями. Это целочисленные значения, которые получают или задают размеры Message.Bodyпо умолчанию для , Message.Extensionили Message.Label.
Получение ограниченного набора свойств помогает повысить производительность, так как из очереди передаются меньшие объемы данных.
При задании свойства в MessagePropertyFilterвы указываете, извлекается ли это свойство только при получении или просмотре сообщения. Значение связанного свойства для Messageне изменяется.
Конструктор MessagePropertyFilter присваивает всем свойствам фильтра значения по умолчанию, которые для логических значений — false
. Сведения о значениях по умолчанию, назначенных целочисленным свойствам, см. в разделе конструктора.
Конструкторы
MessagePropertyFilter() |
Инициализирует новый экземпляр класса MessagePropertyFilter и устанавливает значения по умолчанию для всех свойств. |
Свойства
AcknowledgeType |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства AcknowledgeType при получении или считывании сообщения. |
Acknowledgment |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Acknowledgment при получении или считывании сообщения. |
AdministrationQueue |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства AdministrationQueue при получении или считывании сообщения. |
AppSpecific |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства AppSpecific при получении или считывании сообщения. |
ArrivedTime |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства ArrivedTime при получении или считывании сообщения. |
AttachSenderId |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства AttachSenderId при получении или считывании сообщения. |
Authenticated |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Authenticated при получении или считывании сообщения. |
AuthenticationProviderName |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства AuthenticationProviderName при получении или считывании сообщения. |
AuthenticationProviderType |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства AuthenticationProviderType при получении или считывании сообщения. |
Body |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Body при получении или считывании сообщения. |
ConnectorType |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства ConnectorType при получении или считывании сообщения. |
CorrelationId |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства CorrelationId при получении или считывании сообщения. |
DefaultBodySize |
Получает или задает размер (в байтах) стандартного буфера тела сообщения. |
DefaultExtensionSize |
Получает или задает размер (в байтах) стандартного буфера расширения. |
DefaultLabelSize |
Получает или задает размер (в байтах) стандартного буфера метки. |
DestinationQueue |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства DestinationQueue при получении или считывании сообщения. |
DestinationSymmetricKey |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства DestinationSymmetricKey при получении или считывании сообщения. |
DigitalSignature |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства DigitalSignature при получении или считывании сообщения. |
EncryptionAlgorithm |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства EncryptionAlgorithm при получении или считывании сообщения. |
Extension |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Extension при получении или считывании сообщения. |
HashAlgorithm |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства HashAlgorithm при получении или считывании сообщения. |
Id |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Id при получении или считывании сообщения. |
IsFirstInTransaction |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства IsFirstInTransaction при получении или считывании сообщения. |
IsLastInTransaction |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства IsLastInTransaction при получении или считывании сообщения. |
Label |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Label при получении или считывании сообщения. |
LookupId |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства LookupId при получении или считывании сообщения. |
MessageType |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства MessageType при получении или считывании сообщения. |
Priority |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Priority при получении или считывании сообщения. |
Recoverable |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства Recoverable при получении или считывании сообщения. |
ResponseQueue |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства ResponseQueue при получении или считывании сообщения. |
SenderCertificate |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства SenderCertificate при получении или считывании сообщения. |
SenderId |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства SenderId при получении или считывании сообщения. |
SenderVersion |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства SenderVersion при получении или считывании сообщения. |
SentTime |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства SentTime при получении или считывании сообщения. |
SourceMachine |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства SourceMachine при получении или считывании сообщения. |
TimeToBeReceived |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства TimeToBeReceived при получении или считывании сообщения. |
TimeToReachQueue |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства TimeToReachQueue при получении или считывании сообщения. |
TransactionId |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства TransactionId при получении или считывании сообщения. |
TransactionStatusQueue |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства TransactionStatusQueue при получении или считывании сообщения. |
UseAuthentication |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства UseAuthentication при получении или считывании сообщения. |
UseDeadLetterQueue |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства UseDeadLetterQueue при получении или считывании сообщения. |
UseEncryption |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства UseEncryption при получении или считывании сообщения. |
UseJournalQueue |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства UseJournalQueue при получении или считывании сообщения. |
UseTracing |
Получает или задает значение, указывающее, следует ли извлекать сведения свойства UseTracing при получении или считывании сообщения. |
Методы
ClearAll() |
Устанавливает значения логических переменных фильтра равными |
Clone() |
Создает неполную копию объекта. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
SetAll() |
Указывает, что при приеме сообщения извлекаются все его свойства. |
SetDefaults() |
Устанавливает значения фильтра общих свойств Message Queuing равными |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |