Freigeben über


MessagePropertyFilter Klasse

Definition

Steuert und wählt die Eigenschaften aus, die beim Einsehen oder beim Empfang von Meldungen aus einer Warteschlange abgerufen werden.

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
Vererbung
MessagePropertyFilter
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel werden zwei Nachrichten mit unterschiedlichen Prioritäten an die Warteschlange gesendet und anschließend abgerufen.


#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

Hinweise

Das Festlegen von MessagePropertyFilter für eine MessageQueue instance steuert den Satz von Eigenschaften, die beim Einsehen oder Empfangen einer Nachricht abgerufen werden. Der Filter wird für die instance festgelegt, die MessageQueue die Nachrichteninformationen abruft. Wenn Sie ein MessagePropertyFilter Element mit booleschen Werten auf falsefestlegen, verhindern Sie, dass die Informationen der zugeordneten Message Eigenschaft vom MessageQueueabgerufen werden.

Es gibt mehrere Filtereigenschaften, die keine booleschen Werte sind. Dabei handelt es sich um ganzzahlige Werte, die die Standardgrößen von Message.Body, Message.Extensionoder abrufen oder Message.Labelfestlegen.

Das Abrufen einer begrenzten Gruppe von Eigenschaften trägt zur Verbesserung der Leistung bei, da kleinere Datenmengen aus der Warteschlange übertragen werden.

Wenn Sie eine Eigenschaft auf MessagePropertyFilterfestlegen, geben Sie nur an, ob diese Eigenschaft abgerufen wird, wenn eine Nachricht empfangen oder eingesehen wird. Sie ändern den zugeordneten Eigenschaftswert für nicht Message.

Der MessagePropertyFilter Konstruktor legt alle Filtereigenschaften auf ihre Standardwerte fest, die für die booleschen Werte sind false. Die Standardwerte, die den Ganzzahlwerteigenschaften zugewiesen sind, finden Sie im Thema Konstruktor.

Konstruktoren

MessagePropertyFilter()

Initialisiert eine neue Instanz der MessagePropertyFilter-Klasse und legt für alle Eigenschaften Standardwerte fest.

Eigenschaften

AcknowledgeType

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die AcknowledgeType-Eigenschaft abgerufen wird, oder legt diesen fest.

Acknowledgment

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Acknowledgment-Eigenschaft abgerufen wird, oder legt diesen fest.

AdministrationQueue

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die AdministrationQueue-Eigenschaft abgerufen wird, oder legt diesen fest.

AppSpecific

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die AppSpecific-Eigenschaft abgerufen wird, oder legt diesen fest.

ArrivedTime

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die ArrivedTime-Eigenschaft abgerufen wird, oder legt diesen fest.

AttachSenderId

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die AttachSenderId-Eigenschaft abgerufen wird, oder legt diesen fest.

Authenticated

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Authenticated-Eigenschaft abgerufen wird, oder legt diesen fest.

AuthenticationProviderName

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die AuthenticationProviderName-Eigenschaft abgerufen wird, oder legt diesen fest.

AuthenticationProviderType

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die AuthenticationProviderType-Eigenschaft abgerufen wird, oder legt diesen fest.

Body

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Body-Eigenschaft abgerufen wird, oder legt diesen fest.

ConnectorType

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die ConnectorType-Eigenschaft abgerufen wird, oder legt diesen fest.

CorrelationId

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die CorrelationId-Eigenschaft abgerufen wird, oder legt diesen fest.

DefaultBodySize

Ruft die Größe (in Bytes) des Puffers für den Standardmeldungstext ab oder legt diese fest.

DefaultExtensionSize

Ruft die Größe (in Bytes) des Standarderweiterungspuffers ab oder legt diese fest.

DefaultLabelSize

Ruft die Größe (in Bytes) des Puffers für die Standardbezeichnung der Meldung ab oder legt diese fest.

DestinationQueue

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die DestinationQueue-Eigenschaft abgerufen wird, oder legt diesen fest.

DestinationSymmetricKey

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die DestinationSymmetricKey-Eigenschaft abgerufen wird, oder legt diesen fest.

DigitalSignature

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die DigitalSignature-Eigenschaft abgerufen wird, oder legt diesen fest.

EncryptionAlgorithm

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die EncryptionAlgorithm-Eigenschaft abgerufen wird, oder legt diesen fest.

Extension

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Extension-Eigenschaft abgerufen wird, oder legt diesen fest.

HashAlgorithm

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die HashAlgorithm-Eigenschaft abgerufen wird, oder legt diesen fest.

Id

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Id-Eigenschaft abgerufen wird, oder legt diesen fest.

IsFirstInTransaction

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die IsFirstInTransaction-Eigenschaft abgerufen wird, oder legt diesen fest.

IsLastInTransaction

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die IsLastInTransaction-Eigenschaft abgerufen wird, oder legt diesen fest.

Label

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Label-Eigenschaft abgerufen wird, oder legt diesen fest.

LookupId

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die LookupId-Eigenschaft abgerufen wird, oder legt diesen fest.

MessageType

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die MessageType-Eigenschaft abgerufen wird, oder legt diesen fest.

Priority

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Priority-Eigenschaft abgerufen wird, oder legt diesen fest.

Recoverable

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die Recoverable-Eigenschaft abgerufen wird, oder legt diesen fest.

ResponseQueue

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die ResponseQueue-Eigenschaft abgerufen wird, oder legt diesen fest.

SenderCertificate

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die SenderCertificate-Eigenschaft abgerufen wird, oder legt diesen fest.

SenderId

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die SenderId-Eigenschaft abgerufen wird, oder legt diesen fest.

SenderVersion

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die SenderVersion-Eigenschaft abgerufen wird, oder legt diesen fest.

SentTime

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die SentTime-Eigenschaft abgerufen wird, oder legt diesen fest.

SourceMachine

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die SourceMachine-Eigenschaft abgerufen wird, oder legt diesen fest.

TimeToBeReceived

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die TimeToBeReceived-Eigenschaft abgerufen wird, oder legt diesen fest.

TimeToReachQueue

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die TimeToReachQueue-Eigenschaft abgerufen wird, oder legt diesen fest.

TransactionId

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die TransactionId-Eigenschaft abgerufen wird, oder legt diesen fest.

TransactionStatusQueue

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die TransactionStatusQueue-Eigenschaft abgerufen wird, oder legt diesen fest.

UseAuthentication

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die UseAuthentication-Eigenschaft abgerufen wird, oder legt diesen fest.

UseDeadLetterQueue

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die UseDeadLetterQueue-Eigenschaft abgerufen wird, oder legt diesen fest.

UseEncryption

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die UseEncryption-Eigenschaft abgerufen wird, oder legt diesen fest.

UseJournalQueue

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die UseJournalQueue-Eigenschaft abgerufen wird, oder legt diesen fest.

UseTracing

Ruft einen Wert ab, der angibt, ob beim Einsehen oder beim Empfang einer Meldung die UseTracing-Eigenschaft abgerufen wird, oder legt diesen fest.

Methoden

ClearAll()

Legt alle booleschen Filterwerte auf false fest, sodass beim Empfang einer Meldung keine Meldungseigenschaften abgerufen werden.

Clone()

Erstellt eine flache Kopie des Objekts.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SetAll()

Gibt an, dass beim Empfang einer Meldung alle Meldungseigenschaften abgerufen werden.

SetDefaults()

Legt die Filterwerte allgemeiner Message Queuing-Eigenschaften auf true und die Eigenschaften mit Ganzzahlwerten auf die entsprechenden Standardwerte fest.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen