MessagePropertyFilter Classe

Definição

Controla e seleciona as propriedades que são recuperadas ao espreitar 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 seguinte exemplo de código envia duas mensagens com prioridades diferentes para a fila, e recupera-as 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

Observações

Definir o MessagePropertyFilter em uma MessageQueue instância controla o conjunto de propriedades que são recuperadas ao espreitar ou receber uma mensagem. O filtro é definido na instância de MessageQueue que recupera a informação da mensagem. Quando define um MessagePropertyFilter membro com valor booleano como false, impede que a informação da propriedade associada Message seja recuperada pelo MessageQueue.

Existem várias propriedades de filtro que não são valores booleanos. São valores inteiros que obtêm ou definem os tamanhos padrão de , Message.BodyMessage.Extension, ou Message.Label.

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

Ao definir uma propriedade em MessagePropertyFilter, está apenas a indicar se essa propriedade é recuperada quando uma mensagem é recebida ou espreitada. Não está a alterar o valor associado da propriedade para o Message.

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

Construtores

Name Description
MessagePropertyFilter()

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

Propriedades

Name Description
AcknowledgeType

Recebe ou define um valor que indica se deve recuperar AcknowledgeType informação de propriedade ao receber ou espreitar uma mensagem.

Acknowledgment

Recebe ou define um valor que indica se deve recuperar Acknowledgment informação de propriedade ao receber ou espreitar uma mensagem.

AdministrationQueue

Recebe ou define um valor que indica se deve recuperar AdministrationQueue informação de propriedade ao receber ou espreitar uma mensagem.

AppSpecific

Recebe ou define um valor que indica se deve recuperar AppSpecific informação de propriedade ao receber ou espreitar uma mensagem.

ArrivedTime

Recebe ou define um valor que indica se deve recuperar ArrivedTime informação de propriedade ao receber ou espreitar uma mensagem.

AttachSenderId

Recebe ou define um valor que indica se deve recuperar AttachSenderId informação de propriedade ao receber ou espreitar uma mensagem.

Authenticated

Recebe ou define um valor que indica se deve recuperar Authenticated informação de propriedade ao receber ou espreitar uma mensagem.

AuthenticationProviderName

Recebe ou define um valor que indica se deve recuperar AuthenticationProviderName informação de propriedade ao receber ou espreitar uma mensagem.

AuthenticationProviderType

Recebe ou define um valor que indica se deve recuperar AuthenticationProviderType informação de propriedade ao receber ou espreitar uma mensagem.

Body

Recebe ou define um valor que indica se deve recuperar Body informação de propriedade ao receber ou espreitar uma mensagem.

ConnectorType

Recebe ou define um valor que indica se deve recuperar ConnectorType informação de propriedade ao receber ou espreitar uma mensagem.

CorrelationId

Recebe ou define um valor que indica se deve recuperar CorrelationId informação de propriedade ao receber ou espreitar 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 etiquetas padrão.

DestinationQueue

Recebe ou define um valor que indica se deve recuperar DestinationQueue informação de propriedade ao receber ou espreitar uma mensagem.

DestinationSymmetricKey

Recebe ou define um valor que indica se deve recuperar DestinationSymmetricKey informação de propriedade ao receber ou espreitar uma mensagem.

DigitalSignature

Recebe ou define um valor que indica se deve recuperar DigitalSignature informação de propriedade ao receber ou espreitar uma mensagem.

EncryptionAlgorithm

Recebe ou define um valor que indica se deve recuperar EncryptionAlgorithm informação de propriedade ao receber ou espreitar uma mensagem.

Extension

Recebe ou define um valor que indica se deve recuperar Extension informação de propriedade ao receber ou espreitar uma mensagem.

HashAlgorithm

Recebe ou define um valor que indica se deve recuperar HashAlgorithm informação de propriedade ao receber ou espreitar uma mensagem.

Id

Recebe ou define um valor que indica se deve recuperar Id informação de propriedade ao receber ou espreitar uma mensagem.

IsFirstInTransaction

Recebe ou define um valor que indica se deve recuperar IsFirstInTransaction informação de propriedade ao receber ou espreitar uma mensagem.

IsLastInTransaction

Recebe ou define um valor que indica se deve recuperar IsLastInTransaction informação de propriedade ao receber ou espreitar uma mensagem.

Label

Recebe ou define um valor que indica se deve recuperar Label informação de propriedade ao receber ou espreitar uma mensagem.

LookupId

Recebe ou define um valor que indica se deve recuperar LookupId informação de propriedade ao receber ou espreitar uma mensagem.

MessageType

Recebe ou define um valor que indica se deve recuperar MessageType informação de propriedade ao receber ou espreitar uma mensagem.

Priority

Recebe ou define um valor que indica se deve recuperar Priority informação de propriedade ao receber ou espreitar uma mensagem.

Recoverable

Recebe ou define um valor que indica se deve recuperar Recoverable informação de propriedade ao receber ou espreitar uma mensagem.

ResponseQueue

Recebe ou define um valor que indica se deve recuperar ResponseQueue informação de propriedade ao receber ou espreitar uma mensagem.

SenderCertificate

Recebe ou define um valor que indica se deve recuperar SenderCertificate informação de propriedade ao receber ou espreitar uma mensagem.

SenderId

Recebe ou define um valor que indica se deve recuperar SenderId informação de propriedade ao receber ou espreitar uma mensagem.

SenderVersion

Recebe ou define um valor que indica se deve recuperar SenderVersion informação de propriedade ao receber ou espreitar uma mensagem.

SentTime

Recebe ou define um valor que indica se deve recuperar SentTime informação de propriedade ao receber ou espreitar uma mensagem.

SourceMachine

Recebe ou define um valor que indica se deve recuperar SourceMachine informação de propriedade ao receber ou espreitar uma mensagem.

TimeToBeReceived

Recebe ou define um valor que indica se deve recuperar TimeToBeReceived informação de propriedade ao receber ou espreitar uma mensagem.

TimeToReachQueue

Recebe ou define um valor que indica se deve recuperar TimeToReachQueue informação de propriedade ao receber ou espreitar uma mensagem.

TransactionId

Recebe ou define um valor que indica se deve recuperar TransactionId informação de propriedade ao receber ou espreitar uma mensagem.

TransactionStatusQueue

Recebe ou define um valor que indica se deve recuperar TransactionStatusQueue informação de propriedade ao receber ou espreitar uma mensagem.

UseAuthentication

Recebe ou define um valor que indica se deve recuperar UseAuthentication informação de propriedade ao receber ou espreitar uma mensagem.

UseDeadLetterQueue

Recebe ou define um valor que indica se deve recuperar UseDeadLetterQueue informação de propriedade ao receber ou espreitar uma mensagem.

UseEncryption

Recebe ou define um valor que indica se deve recuperar UseEncryption informação de propriedade ao receber ou espreitar uma mensagem.

UseJournalQueue

Recebe ou define um valor que indica se deve recuperar UseJournalQueue informação de propriedade ao receber ou espreitar uma mensagem.

UseTracing

Recebe ou define um valor que indica se deve recuperar UseTracing informação de propriedade ao receber ou espreitar uma mensagem.

Métodos

Name Description
ClearAll()

Define todos os valores do filtro Booleano para false, de modo que nenhuma propriedade de mensagem seja 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 função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SetAll()

Especifica a obtenção de todas as propriedades da mensagem ao receber uma mensagem.

SetDefaults()

Define os valores de filtro das propriedades comuns da Fila de Mensagens para true e as propriedades de valores inteiros para os seus valores padrão.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também