英語で読む

次の方法で共有


MessagePropertyFilter クラス

定義

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

C#
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public class MessagePropertyFilter
C#
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public class MessagePropertyFilter : ICloneable
継承
MessagePropertyFilter
属性
実装

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

C#
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;
        }
    }
}

注釈

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)

適用対象

製品 バージョン
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください