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

Задает все логические значения falseфильтра таким образом, чтобы при получении сообщения не извлекаются свойства сообщения.

Clone()

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

Equals(Object)

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

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

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

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

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

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

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

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

Указывает, чтобы получить все свойства сообщения при получении сообщения.

SetDefaults()

Задает значения фильтра общих свойств true очереди сообщений и целочисленные свойства по умолчанию.

ToString()

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

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

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

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