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

注釈

MessageQueue インスタンスにMessagePropertyFilterを設定すると、メッセージをピークまたは受信するときに取得されるプロパティのセットが制御されます。 フィルターは、メッセージ情報を取得する MessageQueue のインスタンスに設定されます。 MessagePropertyFilterブール値メンバーを false に設定すると、関連付けられているMessage プロパティの情報がMessageQueueによって取得されなくなります。

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

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

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)

適用対象

こちらもご覧ください