MessagePropertyFilter MessagePropertyFilter MessagePropertyFilter MessagePropertyFilter Class

定義

控制並選取當由訊息佇列窺視或接收訊息時所擷取的屬性。Controls and selects the properties that are retrieved when peeking or receiving messages from a message queue.

public ref class MessagePropertyFilter
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public class MessagePropertyFilter
type MessagePropertyFilter = class
Public Class MessagePropertyFilter
繼承
MessagePropertyFilterMessagePropertyFilterMessagePropertyFilterMessagePropertyFilter
屬性

範例

下列程式碼範例會將不同優先順序的兩個訊息傳送至佇列, 然後再進行抓取。The following code example sends two messages of different priorities to the queue, and retrieves them subsequently.


#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

備註

在實例上設定, MessagePropertyFilter可控制在查看或接收訊息時所抓取的屬性集。 MessageQueueSetting the MessagePropertyFilter on a MessageQueue instance controls the set of properties that are retrieved when peeking or receiving a message. 此篩選會在抓取訊息資訊的MessageQueue實例上設定。The filter is set on the instance of MessageQueue that retrieves the message information. 當您將MessagePropertyFilter布林值成員設定為false時, 會防止取得相關聯之Message屬性MessageQueue的資訊。When you set a MessagePropertyFilter Boolean-valued member to false, you prevent the information of the associated Message property from being retrieved by the MessageQueue.

有數個不是布林值的篩選屬性。There are several filter properties that are not Boolean values. 它們是可取得或設定Message.BodyMessage.ExtensionMessage.Label之預設大小的整數值。They are integer values that get or set the default sizes of the Message.Body, Message.Extension, or Message.Label.

抓取有限的屬性集有助於改善效能, 因為從佇列傳送的資料量較少。Retrieving a limited set of properties helps improve performance because smaller amounts of data are transferred from the queue.

在上MessagePropertyFilter設定屬性時, 您只會指出當收到或查看訊息時, 是否要抓取該屬性。When setting a property on MessagePropertyFilter, you are only indicating whether that property is retrieved when a message is received or peeked. 您不會變更相關聯的屬性值MessageYou are not changing the associated property value for the Message.

MessagePropertyFilter函式會false將所有篩選屬性設為其預設值, 布林值為。The MessagePropertyFilter constructor sets all filter properties to their default values, which for the Boolean values is false. 如需指派給整數值屬性的預設值, 請參閱「檢查程式」主題。See the constructor topic for the defaults assigned to the integer-valued properties.

建構函式

MessagePropertyFilter() MessagePropertyFilter() MessagePropertyFilter() MessagePropertyFilter()

初始化 MessagePropertyFilter 類別的新執行個體,並設定所有屬性的預設值。Initializes a new instance of the MessagePropertyFilter class and sets default values for all properties.

屬性

AcknowledgeType AcknowledgeType AcknowledgeType AcknowledgeType

取得或設定值,指出在接收或窺視訊息時是否要擷取 AcknowledgeType 屬性資訊。Gets or sets a value that indicates whether to retrieve AcknowledgeType property information when receiving or peeking a message.

Acknowledgment Acknowledgment Acknowledgment Acknowledgment

取得或設定值,指出在接收或窺視訊息時是否要擷取 Acknowledgment 屬性資訊。Gets or sets a value that indicates whether to retrieve Acknowledgment property information when receiving or peeking a message.

AdministrationQueue AdministrationQueue AdministrationQueue AdministrationQueue

取得或設定值,指出在接收或窺視訊息時是否要擷取 AdministrationQueue 屬性資訊。Gets or sets a value that indicates whether to retrieve AdministrationQueue property information when receiving or peeking a message.

AppSpecific AppSpecific AppSpecific AppSpecific

取得或設定值,指出在接收或窺視訊息時是否要擷取 AppSpecific 屬性資訊。Gets or sets a value that indicates whether to retrieve AppSpecific property information when receiving or peeking a message.

ArrivedTime ArrivedTime ArrivedTime ArrivedTime

取得或設定值,指出在接收或窺視訊息時是否要擷取 ArrivedTime 屬性資訊。Gets or sets a value that indicates whether to retrieve ArrivedTime property information when receiving or peeking a message.

AttachSenderId AttachSenderId AttachSenderId AttachSenderId

取得或設定值,指出在接收或窺視訊息時是否要擷取 AttachSenderId 屬性資訊。Gets or sets a value that indicates whether to retrieve AttachSenderId property information when receiving or peeking a message.

Authenticated Authenticated Authenticated Authenticated

取得或設定值,指出在接收或窺視訊息時是否要擷取 Authenticated 屬性資訊。Gets or sets a value that indicates whether to retrieve Authenticated property information when receiving or peeking a message.

AuthenticationProviderName AuthenticationProviderName AuthenticationProviderName AuthenticationProviderName

取得或設定值,指出在接收或窺視訊息時是否要擷取 AuthenticationProviderName 屬性資訊。Gets or sets a value that indicates whether to retrieve AuthenticationProviderName property information when receiving or peeking a message.

AuthenticationProviderType AuthenticationProviderType AuthenticationProviderType AuthenticationProviderType

取得或設定值,指出在接收或窺視訊息時是否要擷取 AuthenticationProviderType 屬性資訊。Gets or sets a value that indicates whether to retrieve AuthenticationProviderType property information when receiving or peeking a message.

Body Body Body Body

取得或設定值,指出在接收或窺視訊息時是否要擷取 Body 屬性資訊。Gets or sets a value that indicates whether to retrieve Body property information when receiving or peeking a message.

ConnectorType ConnectorType ConnectorType ConnectorType

取得或設定值,指出在接收或窺視訊息時是否要擷取 ConnectorType 屬性資訊。Gets or sets a value that indicates whether to retrieve ConnectorType property information when receiving or peeking a message.

CorrelationId CorrelationId CorrelationId CorrelationId

取得或設定值,指出在接收或窺視訊息時是否要擷取 CorrelationId 屬性資訊。Gets or sets a value that indicates whether to retrieve CorrelationId property information when receiving or peeking a message.

DefaultBodySize DefaultBodySize DefaultBodySize DefaultBodySize

取得或設定預設主體緩衝區的大小 (以位元組為單位)。Gets or sets the size, in bytes, of the default body buffer.

DefaultExtensionSize DefaultExtensionSize DefaultExtensionSize DefaultExtensionSize

取得或設定預設擴充緩衝區的大小 (以位元組為單位)。Gets or sets the size, in bytes, of the default extension buffer.

DefaultLabelSize DefaultLabelSize DefaultLabelSize DefaultLabelSize

取得或設定預設標籤緩衝區的大小 (以位元組為單位)。Gets or sets the size, in bytes, of the default label buffer.

DestinationQueue DestinationQueue DestinationQueue DestinationQueue

取得或設定值,指出在接收或窺視訊息時是否要擷取 DestinationQueue 屬性資訊。Gets or sets a value that indicates whether to retrieve DestinationQueue property information when receiving or peeking a message.

DestinationSymmetricKey DestinationSymmetricKey DestinationSymmetricKey DestinationSymmetricKey

取得或設定值,指出在接收或窺視訊息時是否要擷取 DestinationSymmetricKey 屬性資訊。Gets or sets a value that indicates whether to retrieve DestinationSymmetricKey property information when receiving or peeking a message.

DigitalSignature DigitalSignature DigitalSignature DigitalSignature

取得或設定值,指出在接收或窺視訊息時是否要擷取 DigitalSignature 屬性資訊。Gets or sets a value that indicates whether to retrieve DigitalSignature property information when receiving or peeking a message.

EncryptionAlgorithm EncryptionAlgorithm EncryptionAlgorithm EncryptionAlgorithm

取得或設定值,指出在接收或窺視訊息時是否要擷取 EncryptionAlgorithm 屬性資訊。Gets or sets a value that indicates whether to retrieve EncryptionAlgorithm property information when receiving or peeking a message.

Extension Extension Extension Extension

取得或設定值,指出在接收或窺視訊息時是否要擷取 Extension 屬性資訊。Gets or sets a value that indicates whether to retrieve Extension property information when receiving or peeking a message.

HashAlgorithm HashAlgorithm HashAlgorithm HashAlgorithm

取得或設定值,指出在接收或窺視訊息時是否要擷取 HashAlgorithm 屬性資訊。Gets or sets a value that indicates whether to retrieve HashAlgorithm property information when receiving or peeking a message.

Id Id Id Id

取得或設定值,指出在接收或窺視訊息時是否要擷取 Id 屬性資訊。Gets or sets a value that indicates whether to retrieve Id property information when receiving or peeking a message.

IsFirstInTransaction IsFirstInTransaction IsFirstInTransaction IsFirstInTransaction

取得或設定值,指出在接收或窺視訊息時是否要擷取 IsFirstInTransaction 屬性資訊。Gets or sets a value that indicates whether to retrieve IsFirstInTransaction property information when receiving or peeking a message.

IsLastInTransaction IsLastInTransaction IsLastInTransaction IsLastInTransaction

取得或設定值,指出在接收或窺視訊息時是否要擷取 IsLastInTransaction 屬性資訊。Gets or sets a value that indicates whether to retrieve IsLastInTransaction property information when receiving or peeking a message.

Label Label Label Label

取得或設定值,指出在接收或窺視訊息時是否要擷取 Label 屬性資訊。Gets or sets a value that indicates whether to retrieve Label property information when receiving or peeking a message.

LookupId LookupId LookupId LookupId

取得或設定值,指出在接收或窺視訊息時是否要擷取 LookupId 屬性資訊。Gets or sets a value that indicates whether to retrieve LookupId property information when receiving or peeking a message.

MessageType MessageType MessageType MessageType

取得或設定值,指出在接收或窺視訊息時是否要擷取 MessageType 屬性資訊。Gets or sets a value that indicates whether to retrieve MessageType property information when receiving or peeking a message.

Priority Priority Priority Priority

取得或設定值,指出在接收或窺視訊息時是否要擷取 Priority 屬性資訊。Gets or sets a value that indicates whether to retrieve Priority property information when receiving or peeking a message.

Recoverable Recoverable Recoverable Recoverable

取得或設定值,指出在接收或窺視訊息時是否要擷取 Recoverable 屬性資訊。Gets or sets a value that indicates whether to retrieve Recoverable property information when receiving or peeking a message.

ResponseQueue ResponseQueue ResponseQueue ResponseQueue

取得或設定值,指出在接收或窺視訊息時是否要擷取 ResponseQueue 屬性資訊。Gets or sets a value that indicates whether to retrieve ResponseQueue property information when receiving or peeking a message.

SenderCertificate SenderCertificate SenderCertificate SenderCertificate

取得或設定值,指出在接收或窺視訊息時是否要擷取 SenderCertificate 屬性資訊。Gets or sets a value that indicates whether to retrieve SenderCertificate property information when receiving or peeking a message.

SenderId SenderId SenderId SenderId

取得或設定值,指出在接收或窺視訊息時是否要擷取 SenderId 屬性資訊。Gets or sets a value that indicates whether to retrieve SenderId property information when receiving or peeking a message.

SenderVersion SenderVersion SenderVersion SenderVersion

取得或設定值,指出在接收或窺視訊息時是否要擷取 SenderVersion 屬性資訊。Gets or sets a value that indicates whether to retrieve SenderVersion property information when receiving or peeking a message.

SentTime SentTime SentTime SentTime

取得或設定值,指出在接收或窺視訊息時是否要擷取 SentTime 屬性資訊。Gets or sets a value that indicates whether to retrieve SentTime property information when receiving or peeking a message.

SourceMachine SourceMachine SourceMachine SourceMachine

取得或設定值,指出在接收或窺視訊息時是否要擷取 SourceMachine 屬性資訊。Gets or sets a value that indicates whether to retrieve SourceMachine property information when receiving or peeking a message.

TimeToBeReceived TimeToBeReceived TimeToBeReceived TimeToBeReceived

取得或設定值,指出在接收或窺視訊息時是否要擷取 TimeToBeReceived 屬性資訊。Gets or sets a value that indicates whether to retrieve TimeToBeReceived property information when receiving or peeking a message.

TimeToReachQueue TimeToReachQueue TimeToReachQueue TimeToReachQueue

取得或設定值,指出在接收或窺視訊息時是否要擷取 TimeToReachQueue 屬性資訊。Gets or sets a value that indicates whether to retrieve TimeToReachQueue property information when receiving or peeking a message.

TransactionId TransactionId TransactionId TransactionId

取得或設定值,指出在接收或窺視訊息時是否要擷取 TransactionId 屬性資訊。Gets or sets a value that indicates whether to retrieve TransactionId property information when receiving or peeking a message.

TransactionStatusQueue TransactionStatusQueue TransactionStatusQueue TransactionStatusQueue

取得或設定值,指出在接收或窺視訊息時是否要擷取 TransactionStatusQueue 屬性資訊。Gets or sets a value that indicates whether to retrieve TransactionStatusQueue property information when receiving or peeking a message.

UseAuthentication UseAuthentication UseAuthentication UseAuthentication

取得或設定值,指出在接收或窺視訊息時是否要擷取 UseAuthentication 屬性資訊。Gets or sets a value that indicates whether to retrieve UseAuthentication property information when receiving or peeking a message.

UseDeadLetterQueue UseDeadLetterQueue UseDeadLetterQueue UseDeadLetterQueue

取得或設定值,指出在接收或窺視訊息時是否要擷取 UseDeadLetterQueue 屬性資訊。Gets or sets a value that indicates whether to retrieve UseDeadLetterQueue property information when receiving or peeking a message.

UseEncryption UseEncryption UseEncryption UseEncryption

取得或設定值,指出在接收或窺視訊息時是否要擷取 UseEncryption 屬性資訊。Gets or sets a value that indicates whether to retrieve UseEncryption property information when receiving or peeking a message.

UseJournalQueue UseJournalQueue UseJournalQueue UseJournalQueue

取得或設定值,指出在接收或窺視訊息時是否要擷取 UseJournalQueue 屬性資訊。Gets or sets a value that indicates whether to retrieve UseJournalQueue property information when receiving or peeking a message.

UseTracing UseTracing UseTracing UseTracing

取得或設定值,指出在接收或窺視訊息時是否要擷取 UseTracing 屬性資訊。Gets or sets a value that indicates whether to retrieve UseTracing property information when receiving or peeking a message.

方法

ClearAll() ClearAll() ClearAll() ClearAll()

設定所有布林篩選值為 false,如此在接收訊息時就不會擷取任何訊息屬性。Sets all Boolean filter values to false, so that no message properties are retrieved when receiving a message.

Clone() Clone() Clone() Clone()

建立物件的淺層複本 (Shallow Copy)。Creates a shallow copy of the object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

判斷指定的物件是否等於目前的物件。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

做為預設雜湊函式。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

建立目前 Object 的淺層複本 (Shallow Copy)。Creates a shallow copy of the current Object.

(Inherited from Object)
SetAll() SetAll() SetAll() SetAll()

指定在接收訊息時擷取所有訊息屬性。Specifies to retrieve all message properties when receiving a message.

SetDefaults() SetDefaults() SetDefaults() SetDefaults()

將一般訊息佇列屬性的篩選條件值設定為 true,並將整數值屬性設定為它們的預設值。Sets the filter values of common Message Queuing properties to true and the integer-valued properties to their default values.

ToString() ToString() ToString() ToString()

傳回代表目前物件的字串。Returns a string that represents the current object.

(Inherited from Object)

適用於

另請參閱