Condividi tramite


MessagePropertyFilter Classe

Definizione

Controlla e seleziona le proprietà recuperate durante la lettura o la ricezione di messaggi da una coda.

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
Ereditarietà
MessagePropertyFilter
Attributi
Implementazioni

Esempio

L'esempio di codice seguente invia due messaggi di priorità diverse alla coda e li recupera successivamente.


#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

Commenti

L'impostazione di su un'istanza MessagePropertyFilterMessageQueue controlla il set di proprietà recuperate durante la visualizzazione o la ricezione di un messaggio. Il filtro viene impostato sull'istanza di MessageQueue che recupera le informazioni sul messaggio. Quando si imposta un MessagePropertyFilter membro falsecon valori booleani su , si impedisce che le informazioni della proprietà associata Message vengano recuperate da MessageQueue.

Esistono diverse proprietà di filtro che non sono valori booleani. Sono valori integer che ottengono o impostano le dimensioni predefinite di Message.Body, Message.Extensiono Message.Label.

Il recupero di un set limitato di proprietà consente di migliorare le prestazioni perché le quantità di dati più piccole vengono trasferite dalla coda.

Quando si imposta una proprietà su MessagePropertyFilter, si indica solo se tale proprietà viene recuperata quando viene ricevuto o visualizzato un messaggio. Non si modifica il valore della proprietà associato per .Message

Il MessagePropertyFilter costruttore imposta tutte le proprietà del filtro sui valori predefiniti, che per i valori booleani è false. Per le impostazioni predefinite assegnate alle proprietà con valori interi, vedere l'argomento relativo al costruttore.

Costruttori

MessagePropertyFilter()

Inizializza una nuova istanza della classe MessagePropertyFilter e imposta i valori predefiniti di tutte le proprietà.

Proprietà

AcknowledgeType

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà AcknowledgeType quando si riceve o si visualizza un messaggio.

Acknowledgment

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Acknowledgment quando si riceve o si visualizza un messaggio.

AdministrationQueue

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà AdministrationQueue quando si riceve o si visualizza un messaggio.

AppSpecific

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà AppSpecific quando si riceve o si visualizza un messaggio.

ArrivedTime

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà ArrivedTime quando si riceve o si visualizza un messaggio.

AttachSenderId

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà AttachSenderId quando si riceve o si visualizza un messaggio.

Authenticated

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Authenticated quando si riceve o si visualizza un messaggio.

AuthenticationProviderName

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà AuthenticationProviderName quando si riceve o si visualizza un messaggio.

AuthenticationProviderType

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà AuthenticationProviderType quando si riceve o si visualizza un messaggio.

Body

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Body quando si riceve o si visualizza un messaggio.

ConnectorType

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà ConnectorType quando si riceve o si visualizza un messaggio.

CorrelationId

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà CorrelationId quando si riceve o si visualizza un messaggio.

DefaultBodySize

Ottiene o imposta le dimensioni predefinite, in byte, del buffer del corpo.

DefaultExtensionSize

Ottiene o imposta le dimensioni, in byte, del buffer di estensione predefinito.

DefaultLabelSize

Ottiene o imposta le dimensioni, in byte, del buffer dell'etichetta predefinita.

DestinationQueue

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà DestinationQueue quando si riceve o si visualizza un messaggio.

DestinationSymmetricKey

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà DestinationSymmetricKey quando si riceve o si visualizza un messaggio.

DigitalSignature

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà DigitalSignature quando si riceve o si visualizza un messaggio.

EncryptionAlgorithm

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà EncryptionAlgorithm quando si riceve o si visualizza un messaggio.

Extension

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Extension quando si riceve o si visualizza un messaggio.

HashAlgorithm

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà HashAlgorithm quando si riceve o si visualizza un messaggio.

Id

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Id quando si riceve o si visualizza un messaggio.

IsFirstInTransaction

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà IsFirstInTransaction quando si riceve o si visualizza un messaggio.

IsLastInTransaction

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà IsLastInTransaction quando si riceve o si visualizza un messaggio.

Label

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Label quando si riceve o si visualizza un messaggio.

LookupId

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà LookupId quando si riceve o si visualizza un messaggio.

MessageType

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà MessageType quando si riceve o si visualizza un messaggio.

Priority

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Priority quando si riceve o si visualizza un messaggio.

Recoverable

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà Recoverable quando si riceve o si visualizza un messaggio.

ResponseQueue

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà ResponseQueue quando si riceve o si visualizza un messaggio.

SenderCertificate

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà SenderCertificate quando si riceve o si visualizza un messaggio.

SenderId

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà SenderId quando si riceve o si visualizza un messaggio.

SenderVersion

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà SenderVersion quando si riceve o si visualizza un messaggio.

SentTime

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà SentTime quando si riceve o si visualizza un messaggio.

SourceMachine

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà SourceMachine quando si riceve o si visualizza un messaggio.

TimeToBeReceived

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà TimeToBeReceived quando si riceve o si visualizza un messaggio.

TimeToReachQueue

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà TimeToReachQueue quando si riceve o si visualizza un messaggio.

TransactionId

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà TransactionId quando si riceve o si visualizza un messaggio.

TransactionStatusQueue

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà TransactionStatusQueue quando si riceve o si visualizza un messaggio.

UseAuthentication

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà UseAuthentication quando si riceve o si visualizza un messaggio.

UseDeadLetterQueue

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà UseDeadLetterQueue quando si riceve o si visualizza un messaggio.

UseEncryption

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà UseEncryption quando si riceve o si visualizza un messaggio.

UseJournalQueue

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà UseJournalQueue quando si riceve o si visualizza un messaggio.

UseTracing

Ottiene o imposta un valore che indica se recuperare le informazioni della proprietà UseTracing quando si riceve o si visualizza un messaggio.

Metodi

ClearAll()

Imposta tutti i valori Boolean del filtro su false, in modo che nessuna proprietà del messaggio venga recuperata alla ricezione.

Clone()

Consente di creare una copia dei riferimenti dell'oggetto.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SetAll()

Specifica di recuperare tutte le proprietà dei messaggi alla ricezione di un messaggio.

SetDefaults()

Imposta i valori di filtro delle proprietà comuni di Accodamento messaggi su true e le proprietà con Integer sui rispettivi valori predefiniti.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche