MessagePropertyFilter Clase

Definición

Controla y selecciona las propiedades que se recuperan al examinar o recibir mensajes de una cola de mensajes.

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
Herencia
MessagePropertyFilter
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se envían dos mensajes de prioridades diferentes a la cola y los 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

Comentarios

Al establecer en MessagePropertyFilter una MessageQueue instancia, se controla el conjunto de propiedades que se recuperan al examinar o recibir un mensaje. El filtro se establece en la instancia de MessageQueue que recupera la información del mensaje. Cuando se establece un MessagePropertyFilter miembro falsecon valores booleanos en , se impide que la información de la propiedad asociada Message se recupere mediante .MessageQueue

Hay varias propiedades de filtro que no son valores booleanos. Son valores enteros que obtienen o establecen los tamaños predeterminados de Message.Body, Message.Extensiono Message.Label.

La recuperación de un conjunto limitado de propiedades ayuda a mejorar el rendimiento porque se transfieren cantidades más pequeñas de datos desde la cola.

Al establecer una propiedad en MessagePropertyFilter, solo se indica si esa propiedad se recupera cuando se recibe o se ve un mensaje. No va a cambiar el valor de propiedad asociado para .Message

El MessagePropertyFilter constructor establece todas las propiedades de filtro en sus valores predeterminados, que para los valores booleanos es false. Consulte el tema del constructor para ver los valores predeterminados asignados a las propiedades con valores enteros.

Constructores

Nombre Description
MessagePropertyFilter()

Inicializa una nueva instancia de la MessagePropertyFilter clase y establece valores predeterminados para todas las propiedades.

Propiedades

Nombre Description
AcknowledgeType

Obtiene o establece un valor que indica si se va a recuperar AcknowledgeType información de propiedad al recibir o ver un mensaje.

Acknowledgment

Obtiene o establece un valor que indica si se va a recuperar Acknowledgment información de propiedad al recibir o ver un mensaje.

AdministrationQueue

Obtiene o establece un valor que indica si se va a recuperar AdministrationQueue información de propiedad al recibir o ver un mensaje.

AppSpecific

Obtiene o establece un valor que indica si se va a recuperar AppSpecific información de propiedad al recibir o ver un mensaje.

ArrivedTime

Obtiene o establece un valor que indica si se va a recuperar ArrivedTime información de propiedad al recibir o ver un mensaje.

AttachSenderId

Obtiene o establece un valor que indica si se va a recuperar AttachSenderId información de propiedad al recibir o ver un mensaje.

Authenticated

Obtiene o establece un valor que indica si se va a recuperar Authenticated información de propiedad al recibir o ver un mensaje.

AuthenticationProviderName

Obtiene o establece un valor que indica si se va a recuperar AuthenticationProviderName información de propiedad al recibir o ver un mensaje.

AuthenticationProviderType

Obtiene o establece un valor que indica si se va a recuperar AuthenticationProviderType información de propiedad al recibir o ver un mensaje.

Body

Obtiene o establece un valor que indica si se va a recuperar Body información de propiedad al recibir o ver un mensaje.

ConnectorType

Obtiene o establece un valor que indica si se va a recuperar ConnectorType información de propiedad al recibir o ver un mensaje.

CorrelationId

Obtiene o establece un valor que indica si se va a recuperar CorrelationId información de propiedad al recibir o ver un mensaje.

DefaultBodySize

Obtiene o establece el tamaño, en bytes, del búfer de cuerpo predeterminado.

DefaultExtensionSize

Obtiene o establece el tamaño, en bytes, del búfer de extensión predeterminado.

DefaultLabelSize

Obtiene o establece el tamaño, en bytes, del búfer de etiquetas predeterminado.

DestinationQueue

Obtiene o establece un valor que indica si se va a recuperar DestinationQueue información de propiedad al recibir o ver un mensaje.

DestinationSymmetricKey

Obtiene o establece un valor que indica si se va a recuperar DestinationSymmetricKey información de propiedad al recibir o ver un mensaje.

DigitalSignature

Obtiene o establece un valor que indica si se va a recuperar DigitalSignature información de propiedad al recibir o ver un mensaje.

EncryptionAlgorithm

Obtiene o establece un valor que indica si se va a recuperar EncryptionAlgorithm información de propiedad al recibir o ver un mensaje.

Extension

Obtiene o establece un valor que indica si se va a recuperar Extension información de propiedad al recibir o ver un mensaje.

HashAlgorithm

Obtiene o establece un valor que indica si se va a recuperar HashAlgorithm información de propiedad al recibir o ver un mensaje.

Id

Obtiene o establece un valor que indica si se va a recuperar Id información de propiedad al recibir o ver un mensaje.

IsFirstInTransaction

Obtiene o establece un valor que indica si se va a recuperar IsFirstInTransaction información de propiedad al recibir o ver un mensaje.

IsLastInTransaction

Obtiene o establece un valor que indica si se va a recuperar IsLastInTransaction información de propiedad al recibir o ver un mensaje.

Label

Obtiene o establece un valor que indica si se va a recuperar Label información de propiedad al recibir o ver un mensaje.

LookupId

Obtiene o establece un valor que indica si se va a recuperar LookupId información de propiedad al recibir o ver un mensaje.

MessageType

Obtiene o establece un valor que indica si se va a recuperar MessageType información de propiedad al recibir o ver un mensaje.

Priority

Obtiene o establece un valor que indica si se va a recuperar Priority información de propiedad al recibir o ver un mensaje.

Recoverable

Obtiene o establece un valor que indica si se va a recuperar Recoverable información de propiedad al recibir o ver un mensaje.

ResponseQueue

Obtiene o establece un valor que indica si se va a recuperar ResponseQueue información de propiedad al recibir o ver un mensaje.

SenderCertificate

Obtiene o establece un valor que indica si se va a recuperar SenderCertificate información de propiedad al recibir o ver un mensaje.

SenderId

Obtiene o establece un valor que indica si se va a recuperar SenderId información de propiedad al recibir o ver un mensaje.

SenderVersion

Obtiene o establece un valor que indica si se va a recuperar SenderVersion información de propiedad al recibir o ver un mensaje.

SentTime

Obtiene o establece un valor que indica si se va a recuperar SentTime información de propiedad al recibir o ver un mensaje.

SourceMachine

Obtiene o establece un valor que indica si se va a recuperar SourceMachine información de propiedad al recibir o ver un mensaje.

TimeToBeReceived

Obtiene o establece un valor que indica si se va a recuperar TimeToBeReceived información de propiedad al recibir o ver un mensaje.

TimeToReachQueue

Obtiene o establece un valor que indica si se va a recuperar TimeToReachQueue información de propiedad al recibir o ver un mensaje.

TransactionId

Obtiene o establece un valor que indica si se va a recuperar TransactionId información de propiedad al recibir o ver un mensaje.

TransactionStatusQueue

Obtiene o establece un valor que indica si se va a recuperar TransactionStatusQueue información de propiedad al recibir o ver un mensaje.

UseAuthentication

Obtiene o establece un valor que indica si se va a recuperar UseAuthentication información de propiedad al recibir o ver un mensaje.

UseDeadLetterQueue

Obtiene o establece un valor que indica si se va a recuperar UseDeadLetterQueue información de propiedad al recibir o ver un mensaje.

UseEncryption

Obtiene o establece un valor que indica si se va a recuperar UseEncryption información de propiedad al recibir o ver un mensaje.

UseJournalQueue

Obtiene o establece un valor que indica si se va a recuperar UseJournalQueue información de propiedad al recibir o ver un mensaje.

UseTracing

Obtiene o establece un valor que indica si se va a recuperar UseTracing información de propiedad al recibir o ver un mensaje.

Métodos

Nombre Description
ClearAll()

Establece todos los valores falsede filtro booleano en , de modo que no se recupere ninguna propiedad de mensaje al recibir un mensaje.

Clone()

Crea una copia superficial del objeto .

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
SetAll()

Especifica para recuperar todas las propiedades del mensaje al recibir un mensaje.

SetDefaults()

Establece los valores de filtro de las propiedades true comunes de Message Queuing en y las propiedades con valores enteros en sus valores predeterminados.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también