MessagePropertyFilter クラス

定義

メッセージ キューからメッセージをピークまたは受信するときに取得されるプロパティを制御および選択します。

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
継承
MessagePropertyFilter
属性
実装

次のコード例では、優先順位が異なる 2 つのメッセージをキューに送信し、その後それらを取得します。


#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インスタンスに を設定すると、MessageQueueメッセージをピークまたは受信するときに取得されるプロパティのセットが制御されます。 フィルターは、メッセージ情報を取得する の MessageQueue インスタンスに設定されます。 ブール値メンバーを MessagePropertyFilterfalse設定すると、関連付けられている Message プロパティの情報が によって取得されないようにします MessageQueue

ブール値ではないフィルター プロパティがいくつかあります。 これらは、または Message.Labelの既定のサイズを取得または設定するMessage.BodyMessage.Extension整数値です。

限られたプロパティ セットを取得すると、キューから転送されるデータ量が少なくなるため、パフォーマンスが向上します。

MessagePropertyFilterプロパティを設定する場合、メッセージの受信時またはピーク時にそのプロパティを取得するかどうかのみが示されます。 に関連付けられているプロパティ値を Message変更していません。

コンストラクターは MessagePropertyFilter 、すべてのフィルター プロパティを既定値に設定します。ブール値の場合は です false。 整数値のプロパティに割り当てられた既定値については、コンストラクターのトピックを参照してください。

コンストラクター

MessagePropertyFilter()

MessagePropertyFilter クラスの新しいインスタンスを初期化し、すべてのプロパティを既定値に設定します。

プロパティ

AcknowledgeType

メッセージを受信またはピークするときに AcknowledgeType プロパティ情報を取得するかどうかを示す値を取得または設定します。

Acknowledgment

メッセージを受信またはピークするときに Acknowledgment プロパティ情報を取得するかどうかを示す値を取得または設定します。

AdministrationQueue

メッセージを受信またはピークするときに AdministrationQueue プロパティ情報を取得するかどうかを示す値を取得または設定します。

AppSpecific

メッセージを受信またはピークするときに AppSpecific プロパティ情報を取得するかどうかを示す値を取得または設定します。

ArrivedTime

メッセージを受信またはピークするときに ArrivedTime プロパティ情報を取得するかどうかを示す値を取得または設定します。

AttachSenderId

メッセージを受信またはピークするときに AttachSenderId プロパティ情報を取得するかどうかを示す値を取得または設定します。

Authenticated

メッセージを受信またはピークするときに Authenticated プロパティ情報を取得するかどうかを示す値を取得または設定します。

AuthenticationProviderName

メッセージを受信またはピークするときに AuthenticationProviderName プロパティ情報を取得するかどうかを示す値を取得または設定します。

AuthenticationProviderType

メッセージを受信またはピークするときに AuthenticationProviderType プロパティ情報を取得するかどうかを示す値を取得または設定します。

Body

メッセージを受信またはピークするときに Body プロパティ情報を取得するかどうかを示す値を取得または設定します。

ConnectorType

メッセージを受信またはピークするときに ConnectorType プロパティ情報を取得するかどうかを示す値を取得または設定します。

CorrelationId

メッセージを受信またはピークするときに CorrelationId プロパティ情報を取得するかどうかを示す値を取得または設定します。

DefaultBodySize

本文バッファーの既定サイズ (バイト数) を取得または設定します。

DefaultExtensionSize

拡張バッファーの既定サイズ (バイト数) を取得または設定します。

DefaultLabelSize

ラベル バッファーの既定サイズ (バイト数) を取得または設定します。

DestinationQueue

メッセージを受信またはピークするときに DestinationQueue プロパティ情報を取得するかどうかを示す値を取得または設定します。

DestinationSymmetricKey

メッセージを受信またはピークするときに DestinationSymmetricKey プロパティ情報を取得するかどうかを示す値を取得または設定します。

DigitalSignature

メッセージを受信またはピークするときに DigitalSignature プロパティ情報を取得するかどうかを示す値を取得または設定します。

EncryptionAlgorithm

メッセージを受信またはピークするときに EncryptionAlgorithm プロパティ情報を取得するかどうかを示す値を取得または設定します。

Extension

メッセージを受信またはピークするときに Extension プロパティ情報を取得するかどうかを示す値を取得または設定します。

HashAlgorithm

メッセージを受信またはピークするときに HashAlgorithm プロパティ情報を取得するかどうかを示す値を取得または設定します。

Id

メッセージを受信またはピークするときに Id プロパティ情報を取得するかどうかを示す値を取得または設定します。

IsFirstInTransaction

メッセージを受信またはピークするときに IsFirstInTransaction プロパティ情報を取得するかどうかを示す値を取得または設定します。

IsLastInTransaction

メッセージを受信またはピークするときに IsLastInTransaction プロパティ情報を取得するかどうかを示す値を取得または設定します。

Label

メッセージを受信またはピークするときに Label プロパティ情報を取得するかどうかを示す値を取得または設定します。

LookupId

メッセージを受信またはピークするときに LookupId プロパティ情報を取得するかどうかを示す値を取得または設定します。

MessageType

メッセージを受信またはピークするときに MessageType プロパティ情報を取得するかどうかを示す値を取得または設定します。

Priority

メッセージを受信またはピークするときに Priority プロパティ情報を取得するかどうかを示す値を取得または設定します。

Recoverable

メッセージを受信またはピークするときに Recoverable プロパティ情報を取得するかどうかを示す値を取得または設定します。

ResponseQueue

メッセージを受信またはピークするときに ResponseQueue プロパティ情報を取得するかどうかを示す値を取得または設定します。

SenderCertificate

メッセージを受信またはピークするときに SenderCertificate プロパティ情報を取得するかどうかを示す値を取得または設定します。

SenderId

メッセージを受信またはピークするときに SenderId プロパティ情報を取得するかどうかを示す値を取得または設定します。

SenderVersion

メッセージを受信またはピークするときに SenderVersion プロパティ情報を取得するかどうかを示す値を取得または設定します。

SentTime

メッセージを受信またはピークするときに SentTime プロパティ情報を取得するかどうかを示す値を取得または設定します。

SourceMachine

メッセージを受信またはピークするときに SourceMachine プロパティ情報を取得するかどうかを示す値を取得または設定します。

TimeToBeReceived

メッセージを受信またはピークするときに TimeToBeReceived プロパティ情報を取得するかどうかを示す値を取得または設定します。

TimeToReachQueue

メッセージを受信またはピークするときに TimeToReachQueue プロパティ情報を取得するかどうかを示す値を取得または設定します。

TransactionId

メッセージを受信またはピークするときに TransactionId プロパティ情報を取得するかどうかを示す値を取得または設定します。

TransactionStatusQueue

メッセージを受信またはピークするときに TransactionStatusQueue プロパティ情報を取得するかどうかを示す値を取得または設定します。

UseAuthentication

メッセージを受信またはピークするときに UseAuthentication プロパティ情報を取得するかどうかを示す値を取得または設定します。

UseDeadLetterQueue

メッセージを受信またはピークするときに UseDeadLetterQueue プロパティ情報を取得するかどうかを示す値を取得または設定します。

UseEncryption

メッセージを受信またはピークするときに UseEncryption プロパティ情報を取得するかどうかを示す値を取得または設定します。

UseJournalQueue

メッセージを受信またはピークするときに UseJournalQueue プロパティ情報を取得するかどうかを示す値を取得または設定します。

UseTracing

メッセージを受信またはピークするときに UseTracing プロパティ情報を取得するかどうかを示す値を取得または設定します。

メソッド

ClearAll()

メッセージの受信時にメッセージ プロパティが取得されないように、すべてのブール フィルター値を false に設定します。

Clone()

オブジェクトの簡易コピーを作成します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SetAll()

メッセージの受信時にすべてのメッセージ プロパティを取得するように指定します。

SetDefaults()

共通メッセージ キュー プロパティのフィルター値を true に設定し、整数値プロパティをその既定値に設定します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください