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 , который извлекает сведения о сообщении. При установке MessagePropertyFilter логического элемента, для которого falseзадано значение, вы запрещаете получение MessageQueueсведений связанного Message свойства.
Существует несколько свойств фильтра, которые не являются логическими значениями. Они представляют собой целые значения, которые получают или задают размеры 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() |
Задает значения фильтра общих свойств |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |