Partage via


MessagePropertyFilter Classe

Définition

Contrôle et sélectionne les propriétés qui sont récupérés lors de la lecture ou de la réception de messages d'une file d'attente de messages.

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
Héritage
MessagePropertyFilter
Attributs
Implémente

Exemples

L’exemple de code suivant envoie deux messages de priorités différentes à la file d’attente et les récupère par la suite.


#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

Remarques

La définition de MessagePropertyFilter sur un MessageQueue instance contrôle l’ensemble des propriétés récupérées lors de la lecture ou de la réception d’un message. Le filtre est défini sur le instance de MessageQueue qui récupère les informations du message. Lorsque vous définissez un MessagePropertyFilter membre falsebooléen sur , vous empêchez la récupération des informations de la propriété associée Message par le MessageQueue.

Il existe plusieurs propriétés de filtre qui ne sont pas des valeurs booléennes. Il s’agit de valeurs entières qui obtiennent ou définissent les tailles par défaut de Message.Body, Message.Extensionou Message.Label.

La récupération d’un ensemble limité de propriétés permet d’améliorer les performances, car de plus petites quantités de données sont transférées à partir de la file d’attente.

Lorsque vous définissez une propriété sur MessagePropertyFilter, vous indiquez uniquement si cette propriété est récupérée lorsqu’un message est reçu ou consulté. Vous ne modifiez pas la valeur de propriété associée pour le Message.

Le MessagePropertyFilter constructeur définit toutes les propriétés de filtre sur leurs valeurs par défaut, qui pour les valeurs booléennes est false. Consultez la rubrique constructeur pour connaître les valeurs par défaut affectées aux propriétés à valeur entière.

Constructeurs

MessagePropertyFilter()

Initialise une nouvelle instance de la classe MessagePropertyFilter et définit des valeurs par défaut pour toutes les propriétés.

Propriétés

AcknowledgeType

Obtient ou définit une valeur qui indique si les informations de la propriété AcknowledgeType doivent être récupérées lors de la réception ou de la lecture d'un message.

Acknowledgment

Obtient ou définit une valeur qui indique si les informations de la propriété Acknowledgment doivent être récupérées lors de la réception ou de la lecture d'un message.

AdministrationQueue

Obtient ou définit une valeur qui indique si les informations de la propriété AdministrationQueue doivent être récupérées lors de la réception ou de la lecture d'un message.

AppSpecific

Obtient ou définit une valeur qui indique si les informations de la propriété AppSpecific doivent être récupérées lors de la réception ou de la lecture d'un message.

ArrivedTime

Obtient ou définit une valeur qui indique si les informations de la propriété ArrivedTime doivent être récupérées lors de la réception ou de la lecture d'un message.

AttachSenderId

Obtient ou définit une valeur qui indique si les informations de la propriété AttachSenderId doivent être récupérées lors de la réception ou de la lecture d'un message.

Authenticated

Obtient ou définit une valeur qui indique si les informations de la propriété Authenticated doivent être récupérées lors de la réception ou de la lecture d'un message.

AuthenticationProviderName

Obtient ou définit une valeur qui indique si les informations de la propriété AuthenticationProviderName doivent être récupérées lors de la réception ou de la lecture d'un message.

AuthenticationProviderType

Obtient ou définit une valeur qui indique si les informations de la propriété AuthenticationProviderType doivent être récupérées lors de la réception ou de la lecture d'un message.

Body

Obtient ou définit une valeur qui indique si les informations de la propriété Body doivent être récupérées lors de la réception ou de la lecture d'un message.

ConnectorType

Obtient ou définit une valeur qui indique si les informations de la propriété ConnectorType doivent être récupérées lors de la réception ou de la lecture d'un message.

CorrelationId

Obtient ou définit une valeur qui indique si les informations de la propriété CorrelationId doivent être récupérées lors de la réception ou de la lecture d'un message.

DefaultBodySize

Obtient ou définit la taille, en octets, de la mémoire tampon de corps par défaut.

DefaultExtensionSize

Obtient ou définit la taille, en octets, de la mémoire tampon d'extension par défaut.

DefaultLabelSize

Obtient ou définit la taille, en octets, de la mémoire tampon d'étiquette par défaut.

DestinationQueue

Obtient ou définit une valeur qui indique si les informations de la propriété DestinationQueue doivent être récupérées lors de la réception ou de la lecture d'un message.

DestinationSymmetricKey

Obtient ou définit une valeur qui indique si les informations de la propriété DestinationSymmetricKey doivent être récupérées lors de la réception ou de la lecture d'un message.

DigitalSignature

Obtient ou définit une valeur qui indique si les informations de la propriété DigitalSignature doivent être récupérées lors de la réception ou de la lecture d'un message.

EncryptionAlgorithm

Obtient ou définit une valeur qui indique si les informations de la propriété EncryptionAlgorithm doivent être récupérées lors de la réception ou de la lecture d'un message.

Extension

Obtient ou définit une valeur qui indique si les informations de la propriété Extension doivent être récupérées lors de la réception ou de la lecture d'un message.

HashAlgorithm

Obtient ou définit une valeur qui indique si les informations de la propriété HashAlgorithm doivent être récupérées lors de la réception ou de la lecture d'un message.

Id

Obtient ou définit une valeur qui indique si les informations de la propriété Id doivent être récupérées lors de la réception ou de la lecture d'un message.

IsFirstInTransaction

Obtient ou définit une valeur qui indique si les informations de la propriété IsFirstInTransaction doivent être récupérées lors de la réception ou de la lecture d'un message.

IsLastInTransaction

Obtient ou définit une valeur qui indique si les informations de la propriété IsLastInTransaction doivent être récupérées lors de la réception ou de la lecture d'un message.

Label

Obtient ou définit une valeur qui indique si les informations de la propriété Label doivent être récupérées lors de la réception ou de la lecture d'un message.

LookupId

Obtient ou définit une valeur qui indique si les informations de la propriété LookupId doivent être récupérées lors de la réception ou de la lecture d'un message.

MessageType

Obtient ou définit une valeur qui indique si les informations de la propriété MessageType doivent être récupérées lors de la réception ou de la lecture d'un message.

Priority

Obtient ou définit une valeur qui indique si les informations de la propriété Priority doivent être récupérées lors de la réception ou de la lecture d'un message.

Recoverable

Obtient ou définit une valeur qui indique si les informations de la propriété Recoverable doivent être récupérées lors de la réception ou de la lecture d'un message.

ResponseQueue

Obtient ou définit une valeur qui indique si les informations de la propriété ResponseQueue doivent être récupérées lors de la réception ou de la lecture d'un message.

SenderCertificate

Obtient ou définit une valeur qui indique si les informations de la propriété SenderCertificate doivent être récupérées lors de la réception ou de la lecture d'un message.

SenderId

Obtient ou définit une valeur qui indique si les informations de la propriété SenderId doivent être récupérées lors de la réception ou de la lecture d'un message.

SenderVersion

Obtient ou définit une valeur qui indique si les informations de la propriété SenderVersion doivent être récupérées lors de la réception ou de la lecture d'un message.

SentTime

Obtient ou définit une valeur qui indique si les informations de la propriété SentTime doivent être récupérées lors de la réception ou de la lecture d'un message.

SourceMachine

Obtient ou définit une valeur qui indique si les informations de la propriété SourceMachine doivent être récupérées lors de la réception ou de la lecture d'un message.

TimeToBeReceived

Obtient ou définit une valeur qui indique si les informations de la propriété TimeToBeReceived doivent être récupérées lors de la réception ou de la lecture d'un message.

TimeToReachQueue

Obtient ou définit une valeur qui indique si les informations de la propriété TimeToReachQueue doivent être récupérées lors de la réception ou de la lecture d'un message.

TransactionId

Obtient ou définit une valeur qui indique si les informations de la propriété TransactionId doivent être récupérées lors de la réception ou de la lecture d'un message.

TransactionStatusQueue

Obtient ou définit une valeur qui indique si les informations de la propriété TransactionStatusQueue doivent être récupérées lors de la réception ou de la lecture d'un message.

UseAuthentication

Obtient ou définit une valeur qui indique si les informations de la propriété UseAuthentication doivent être récupérées lors de la réception ou de la lecture d'un message.

UseDeadLetterQueue

Obtient ou définit une valeur qui indique si les informations de la propriété UseDeadLetterQueue doivent être récupérées lors de la réception ou de la lecture d'un message.

UseEncryption

Obtient ou définit une valeur qui indique si les informations de la propriété UseEncryption doivent être récupérées lors de la réception ou de la lecture d'un message.

UseJournalQueue

Obtient ou définit une valeur qui indique si les informations de la propriété UseJournalQueue doivent être récupérées lors de la réception ou de la lecture d'un message.

UseTracing

Obtient ou définit une valeur qui indique si les informations de la propriété UseTracing doivent être récupérées lors de la réception ou de la lecture d'un message.

Méthodes

ClearAll()

Affecte false à toutes les valeurs booléennes du filtre, de manière à ce qu'aucune propriété de message ne soit récupérée lors de la réception.

Clone()

Crée une copie superficielle de l'objet.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
SetAll()

Spécifie de récupérer toutes les propriétés du message lors de la réception de ce dernier.

SetDefaults()

Affecte true aux valeurs de filtre des propriétés courantes de Message Queuing et rétablit les valeurs par défaut des propriétés à valeurs entières.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi