MessagePropertyFilter Classe

Definição

Controla e seleciona as propriedades que são recuperadas ao espiar ou receber mensagens de uma fila de mensagens.

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
Herança
MessagePropertyFilter
Atributos
Implementações

Exemplos

O exemplo de código a seguir envia duas mensagens de prioridades diferentes para a fila e as recupera posteriormente.


#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

Comentários

Definir o MessagePropertyFilter em uma MessageQueue instância controla o conjunto de propriedades que são recuperadas ao espiar ou receber uma mensagem. O filtro é definido na instância do MessageQueue que recupera as informações da mensagem. Ao definir um MessagePropertyFilter membro com valor booliano como false, você impede que as informações da propriedade associada Message sejam recuperadas pelo MessageQueue.

Há várias propriedades de filtro que não são valores boolianos. São valores inteiros que obtêm ou definem os tamanhos padrão do Message.Body, Message.Extensionou Message.Label.

Recuperar um conjunto limitado de propriedades ajuda a melhorar o desempenho porque quantidades menores de dados são transferidas da fila.

Ao definir uma propriedade em MessagePropertyFilter, você só indica se essa propriedade é recuperada quando uma mensagem é recebida ou espiada. Você não está alterando o valor da propriedade associada para o Message.

O MessagePropertyFilter construtor define todas as propriedades de filtro para seus valores padrão, que para os valores boolianos é false. Consulte o tópico do construtor para ver os padrões atribuídos às propriedades com valor inteiro.

Construtores

MessagePropertyFilter()

Inicializa uma nova instância da classe MessagePropertyFilter e define valores padrão para todas as propriedades.

Propriedades

AcknowledgeType

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de AcknowledgeType ao receber ou espiar uma mensagem.

Acknowledgment

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Acknowledgment ao receber ou espiar uma mensagem.

AdministrationQueue

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de AdministrationQueue ao receber ou espiar uma mensagem.

AppSpecific

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de AppSpecific ao receber ou espiar uma mensagem.

ArrivedTime

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de ArrivedTime ao receber ou espiar uma mensagem.

AttachSenderId

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de AttachSenderId ao receber ou espiar uma mensagem.

Authenticated

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Authenticated ao receber ou espiar uma mensagem.

AuthenticationProviderName

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de AuthenticationProviderName ao receber ou espiar uma mensagem.

AuthenticationProviderType

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de AuthenticationProviderType ao receber ou espiar uma mensagem.

Body

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Body ao receber ou espiar uma mensagem.

ConnectorType

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de ConnectorType ao receber ou espiar uma mensagem.

CorrelationId

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de CorrelationId ao receber ou espiar uma mensagem.

DefaultBodySize

Obtém ou define o tamanho, em bytes, do buffer de corpo padrão.

DefaultExtensionSize

Obtém ou define o tamanho, em bytes, do buffer de extensão padrão.

DefaultLabelSize

Obtém ou define o tamanho, em bytes, do buffer de rótulo padrão.

DestinationQueue

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de DestinationQueue ao receber ou espiar uma mensagem.

DestinationSymmetricKey

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de DestinationSymmetricKey ao receber ou espiar uma mensagem.

DigitalSignature

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de DigitalSignature ao receber ou espiar uma mensagem.

EncryptionAlgorithm

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de EncryptionAlgorithm ao receber ou espiar uma mensagem.

Extension

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Extension ao receber ou espiar uma mensagem.

HashAlgorithm

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de HashAlgorithm ao receber ou espiar uma mensagem.

Id

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Id ao receber ou espiar uma mensagem.

IsFirstInTransaction

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de IsFirstInTransaction ao receber ou espiar uma mensagem.

IsLastInTransaction

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de IsLastInTransaction ao receber ou espiar uma mensagem.

Label

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Label ao receber ou espiar uma mensagem.

LookupId

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de LookupId ao receber ou espiar uma mensagem.

MessageType

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de MessageType ao receber ou espiar uma mensagem.

Priority

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Priority ao receber ou espiar uma mensagem.

Recoverable

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de Recoverable ao receber ou espiar uma mensagem.

ResponseQueue

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de ResponseQueue ao receber ou espiar uma mensagem.

SenderCertificate

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de SenderCertificate ao receber ou espiar uma mensagem.

SenderId

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de SenderId ao receber ou espiar uma mensagem.

SenderVersion

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de SenderVersion ao receber ou espiar uma mensagem.

SentTime

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de SentTime ao receber ou espiar uma mensagem.

SourceMachine

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de SourceMachine ao receber ou espiar uma mensagem.

TimeToBeReceived

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de TimeToBeReceived ao receber ou espiar uma mensagem.

TimeToReachQueue

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de TimeToReachQueue ao receber ou espiar uma mensagem.

TransactionId

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de TransactionId ao receber ou espiar uma mensagem.

TransactionStatusQueue

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de TransactionStatusQueue ao receber ou espiar uma mensagem.

UseAuthentication

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de UseAuthentication ao receber ou espiar uma mensagem.

UseDeadLetterQueue

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de UseDeadLetterQueue ao receber ou espiar uma mensagem.

UseEncryption

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de UseEncryption ao receber ou espiar uma mensagem.

UseJournalQueue

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de UseJournalQueue ao receber ou espiar uma mensagem.

UseTracing

Obtém ou define um valor que indica se é necessário recuperar informações de propriedade de UseTracing ao receber ou espiar uma mensagem.

Métodos

ClearAll()

Define todos os valores de filtro booliano como false, de modo que nenhuma propriedade de mensagem é recuperada ao receber uma mensagem.

Clone()

Cria uma cópia superficial do objeto.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SetAll()

Especifica para recuperar todas as propriedades de mensagem ao receber uma mensagem.

SetDefaults()

Define os valores de filtro de propriedades comuns de Enfileiramento de Mensagens para true e as propriedades com valor de inteiro para seus valores padrão.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também