Comparteix a través de


MessagePropertyFilter Clase

Definición

Controla y selecciona las propiedades que se recuperan al leer en un mensaje 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

MessagePropertyFilter Al establecer en 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.

Recuperar un conjunto limitado de propiedades ayuda a mejorar el rendimiento porque se transfieren cantidades de datos más pequeñas de 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

MessagePropertyFilter()

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

Propiedades

AcknowledgeType

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad AcknowledgeType al recibir un mensaje o leerlo.

Acknowledgment

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Acknowledgment al recibir un mensaje o leerlo.

AdministrationQueue

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad AdministrationQueue al recibir un mensaje o leerlo.

AppSpecific

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad AppSpecific al recibir un mensaje o leerlo.

ArrivedTime

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad ArrivedTime al recibir un mensaje o leerlo.

AttachSenderId

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad AttachSenderId al recibir un mensaje o leerlo.

Authenticated

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Authenticated al recibir un mensaje o leerlo.

AuthenticationProviderName

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad AuthenticationProviderName al recibir un mensaje o leerlo.

AuthenticationProviderType

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad AuthenticationProviderType al recibir un mensaje o leerlo.

Body

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Body al recibir un mensaje o leerlo.

ConnectorType

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad ConnectorType al recibir un mensaje o leerlo.

CorrelationId

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad CorrelationId al recibir un mensaje o leerlo.

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 etiqueta predeterminado.

DestinationQueue

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad DestinationQueue al recibir un mensaje o leerlo.

DestinationSymmetricKey

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad DestinationSymmetricKey al recibir un mensaje o leerlo.

DigitalSignature

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad DigitalSignature al recibir un mensaje o leerlo.

EncryptionAlgorithm

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad EncryptionAlgorithm al recibir un mensaje o leerlo.

Extension

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Extension al recibir un mensaje o leerlo.

HashAlgorithm

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad HashAlgorithm al recibir un mensaje o leerlo.

Id

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Id al recibir un mensaje o leerlo.

IsFirstInTransaction

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad IsFirstInTransaction al recibir un mensaje o leerlo.

IsLastInTransaction

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad IsLastInTransaction al recibir un mensaje o leerlo.

Label

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Label al recibir un mensaje o leerlo.

LookupId

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad LookupId al recibir un mensaje o leerlo.

MessageType

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad MessageType al recibir un mensaje o leerlo.

Priority

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Priority al recibir un mensaje o leerlo.

Recoverable

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad Recoverable al recibir un mensaje o leerlo.

ResponseQueue

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad ResponseQueue al recibir un mensaje o leerlo.

SenderCertificate

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad SenderCertificate al recibir un mensaje o leerlo.

SenderId

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad SenderId al recibir un mensaje o leerlo.

SenderVersion

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad SenderVersion al recibir un mensaje o leerlo.

SentTime

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad SentTime al recibir un mensaje o leerlo.

SourceMachine

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad SourceMachine al recibir un mensaje o leerlo.

TimeToBeReceived

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad TimeToBeReceived al recibir un mensaje o leerlo.

TimeToReachQueue

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad TimeToReachQueue al recibir un mensaje o leerlo.

TransactionId

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad TransactionId al recibir un mensaje o leerlo.

TransactionStatusQueue

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad TransactionStatusQueue al recibir un mensaje o leerlo.

UseAuthentication

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad UseAuthentication al recibir un mensaje o leerlo.

UseDeadLetterQueue

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad UseDeadLetterQueue al recibir un mensaje o leerlo.

UseEncryption

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad UseEncryption al recibir un mensaje o leerlo.

UseJournalQueue

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad UseJournalQueue al recibir un mensaje o leerlo.

UseTracing

Obtiene o establece un valor que indica si se debe recuperar información de la propiedad UseTracing al recibir un mensaje o leerlo.

Métodos

ClearAll()

Establece todos los valores de filtro booleanos en false, de modo que no se recuperen las propiedades de un mensaje cuando éste se recibe.

Clone()

Crea una copia superficial del objeto.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SetAll()

Especifica que, cuando se recibe un mensaje, se deben recuperar todas sus propiedades.

SetDefaults()

Establece los valores de filtrado de las propiedades frecuentes de Message Queuing en true 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