MessagePropertyFilter Klass

Definition

Styr och väljer de egenskaper som hämtas när du tittar på eller tar emot meddelanden från en meddelandekö.

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
Arv
MessagePropertyFilter
Attribut
Implementeringar

Exempel

Följande kodexempel skickar två meddelanden med olika prioriteter till kön och hämtar dem därefter.


#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

Kommentarer

MessagePropertyFilter Om du anger på en MessageQueue instans styrs den uppsättning egenskaper som hämtas när du tittar på eller tar emot ett meddelande. Filtret anges på den instans av MessageQueue som hämtar meddelandeinformationen. När du anger en MessagePropertyFilter boolesk-värderad medlem till falseförhindrar du att informationen för den associerade Message egenskapen hämtas av MessageQueue.

Det finns flera filteregenskaper som inte är booleska värden. De är heltalsvärden som hämtar eller anger standardstorlekarna för Message.Body, Message.Extensioneller Message.Label.

Om du hämtar en begränsad uppsättning egenskaper kan du förbättra prestandan eftersom mindre mängder data överförs från kön.

När du anger en egenskap på MessagePropertyFilteranger du bara om den egenskapen hämtas när ett meddelande tas emot eller granskas. Du ändrar inte det associerade egenskapsvärdet för Message.

Konstruktorn MessagePropertyFilter anger alla filteregenskaper till sina standardvärden, som för de booleska värdena är false. Se konstruktoravsnittet för de standardvärden som tilldelats till heltalsvärdesegenskaperna.

Konstruktorer

Name Description
MessagePropertyFilter()

Initierar en ny instans av MessagePropertyFilter klassen och anger standardvärden för alla egenskaper.

Egenskaper

Name Description
AcknowledgeType

Hämtar eller anger ett värde som anger om du vill hämta AcknowledgeType egenskapsinformation när du tar emot eller granskar ett meddelande.

Acknowledgment

Hämtar eller anger ett värde som anger om du vill hämta Acknowledgment egenskapsinformation när du tar emot eller granskar ett meddelande.

AdministrationQueue

Hämtar eller anger ett värde som anger om du vill hämta AdministrationQueue egenskapsinformation när du tar emot eller granskar ett meddelande.

AppSpecific

Hämtar eller anger ett värde som anger om du vill hämta AppSpecific egenskapsinformation när du tar emot eller granskar ett meddelande.

ArrivedTime

Hämtar eller anger ett värde som anger om du vill hämta ArrivedTime egenskapsinformation när du tar emot eller granskar ett meddelande.

AttachSenderId

Hämtar eller anger ett värde som anger om du vill hämta AttachSenderId egenskapsinformation när du tar emot eller granskar ett meddelande.

Authenticated

Hämtar eller anger ett värde som anger om du vill hämta Authenticated egenskapsinformation när du tar emot eller granskar ett meddelande.

AuthenticationProviderName

Hämtar eller anger ett värde som anger om du vill hämta AuthenticationProviderName egenskapsinformation när du tar emot eller granskar ett meddelande.

AuthenticationProviderType

Hämtar eller anger ett värde som anger om du vill hämta AuthenticationProviderType egenskapsinformation när du tar emot eller granskar ett meddelande.

Body

Hämtar eller anger ett värde som anger om du vill hämta Body egenskapsinformation när du tar emot eller granskar ett meddelande.

ConnectorType

Hämtar eller anger ett värde som anger om du vill hämta ConnectorType egenskapsinformation när du tar emot eller granskar ett meddelande.

CorrelationId

Hämtar eller anger ett värde som anger om du vill hämta CorrelationId egenskapsinformation när du tar emot eller granskar ett meddelande.

DefaultBodySize

Hämtar eller anger storleken i byte för standardtextbufferten.

DefaultExtensionSize

Hämtar eller anger storleken i byte för standardtilläggsbufferten.

DefaultLabelSize

Hämtar eller anger storleken i byte för standardetikettbufferten.

DestinationQueue

Hämtar eller anger ett värde som anger om du vill hämta DestinationQueue egenskapsinformation när du tar emot eller granskar ett meddelande.

DestinationSymmetricKey

Hämtar eller anger ett värde som anger om du vill hämta DestinationSymmetricKey egenskapsinformation när du tar emot eller granskar ett meddelande.

DigitalSignature

Hämtar eller anger ett värde som anger om du vill hämta DigitalSignature egenskapsinformation när du tar emot eller granskar ett meddelande.

EncryptionAlgorithm

Hämtar eller anger ett värde som anger om du vill hämta EncryptionAlgorithm egenskapsinformation när du tar emot eller granskar ett meddelande.

Extension

Hämtar eller anger ett värde som anger om du vill hämta Extension egenskapsinformation när du tar emot eller granskar ett meddelande.

HashAlgorithm

Hämtar eller anger ett värde som anger om du vill hämta HashAlgorithm egenskapsinformation när du tar emot eller granskar ett meddelande.

Id

Hämtar eller anger ett värde som anger om du vill hämta Id egenskapsinformation när du tar emot eller granskar ett meddelande.

IsFirstInTransaction

Hämtar eller anger ett värde som anger om du vill hämta IsFirstInTransaction egenskapsinformation när du tar emot eller granskar ett meddelande.

IsLastInTransaction

Hämtar eller anger ett värde som anger om du vill hämta IsLastInTransaction egenskapsinformation när du tar emot eller granskar ett meddelande.

Label

Hämtar eller anger ett värde som anger om du vill hämta Label egenskapsinformation när du tar emot eller granskar ett meddelande.

LookupId

Hämtar eller anger ett värde som anger om du vill hämta LookupId egenskapsinformation när du tar emot eller granskar ett meddelande.

MessageType

Hämtar eller anger ett värde som anger om du vill hämta MessageType egenskapsinformation när du tar emot eller granskar ett meddelande.

Priority

Hämtar eller anger ett värde som anger om du vill hämta Priority egenskapsinformation när du tar emot eller granskar ett meddelande.

Recoverable

Hämtar eller anger ett värde som anger om du vill hämta Recoverable egenskapsinformation när du tar emot eller granskar ett meddelande.

ResponseQueue

Hämtar eller anger ett värde som anger om du vill hämta ResponseQueue egenskapsinformation när du tar emot eller granskar ett meddelande.

SenderCertificate

Hämtar eller anger ett värde som anger om du vill hämta SenderCertificate egenskapsinformation när du tar emot eller granskar ett meddelande.

SenderId

Hämtar eller anger ett värde som anger om du vill hämta SenderId egenskapsinformation när du tar emot eller granskar ett meddelande.

SenderVersion

Hämtar eller anger ett värde som anger om du vill hämta SenderVersion egenskapsinformation när du tar emot eller granskar ett meddelande.

SentTime

Hämtar eller anger ett värde som anger om du vill hämta SentTime egenskapsinformation när du tar emot eller granskar ett meddelande.

SourceMachine

Hämtar eller anger ett värde som anger om du vill hämta SourceMachine egenskapsinformation när du tar emot eller granskar ett meddelande.

TimeToBeReceived

Hämtar eller anger ett värde som anger om du vill hämta TimeToBeReceived egenskapsinformation när du tar emot eller granskar ett meddelande.

TimeToReachQueue

Hämtar eller anger ett värde som anger om du vill hämta TimeToReachQueue egenskapsinformation när du tar emot eller granskar ett meddelande.

TransactionId

Hämtar eller anger ett värde som anger om du vill hämta TransactionId egenskapsinformation när du tar emot eller granskar ett meddelande.

TransactionStatusQueue

Hämtar eller anger ett värde som anger om du vill hämta TransactionStatusQueue egenskapsinformation när du tar emot eller granskar ett meddelande.

UseAuthentication

Hämtar eller anger ett värde som anger om du vill hämta UseAuthentication egenskapsinformation när du tar emot eller granskar ett meddelande.

UseDeadLetterQueue

Hämtar eller anger ett värde som anger om du vill hämta UseDeadLetterQueue egenskapsinformation när du tar emot eller granskar ett meddelande.

UseEncryption

Hämtar eller anger ett värde som anger om du vill hämta UseEncryption egenskapsinformation när du tar emot eller granskar ett meddelande.

UseJournalQueue

Hämtar eller anger ett värde som anger om du vill hämta UseJournalQueue egenskapsinformation när du tar emot eller granskar ett meddelande.

UseTracing

Hämtar eller anger ett värde som anger om du vill hämta UseTracing egenskapsinformation när du tar emot eller granskar ett meddelande.

Metoder

Name Description
ClearAll()

Anger alla booleska filtervärden till false, så att inga meddelandeegenskaper hämtas när du tar emot ett meddelande.

Clone()

Skapar en ytlig kopia av objektet.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SetAll()

Anger att alla meddelandeegenskaper ska hämtas när ett meddelande tas emot.

SetDefaults()

Anger filtervärdena för vanliga Message Queuing-egenskaper till true och heltalsvärdesegenskaperna till deras standardvärden.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även