方法 : プログラムによるメッセージを受信します。
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
Receive という同期メソッドを使用できます、キューの内容を確認します。 キューで Receive メソッドを呼び出すことと、システム キューから最初メッセージを削除し、返します。、 このメッセージは、キューを見て他のコンポーネントにできません。
注意
ことができますに参照も最初のメッセージ キュー、キューから削除せず。詳細については、「方法 : メッセージをピークします。」を参照してください。非同期にメッセージを取得することもできます。詳細については、「方法 : メッセージの非同期受信します。」を参照してください。
Receive メソッドを呼び出したときに、キューにメッセージがありません、メソッドは、メッセージがキューに到着するまで待ちます。 メソッドを指定した間隔だけ待機する場合はタイムアウトを指定できます。 タイムアウト期間は、TimeSpan オブジェクトとして指定します。
キューからメッセージを読み取ること、フォーマッタ オブジェクトを使用および、メッセージを操作するメッセージの内容を逆シリアル化します。 詳細については、「読み取りとメッセージの取得の概要」を参照してください。
Receive メソッドのいくつか形式があります。
タイムアウト期間などを指定するためのいくつかのオーバーロードを持つ基本メソッド
ReceiveById 特定のメッセージを取得するための ID によって呼び出されるメソッド
ReceiveByCorrelationId メッセージを取得するための相関関係 ID によって呼び出されるメソッド
相関 ID の詳細については、メッセージ キューのジャーナル ストレージ を参照してください。
メッセージをプログラムで受信するには
MessageQueue コンポーネントのインスタンスを作成し、 Path プロパティを参照するキューに設定します。 詳細については、「方法 : MessageQueue コンポーネントのインスタンスを作成します。」を参照してください。
フォーマッタを使用して、メッセージを取得するを指定します。 詳細については、「方法 : 取得したメッセージのフォーマッタを指定します。」を参照してください。
取得したメッセージを保持する Message オブジェクトのインスタンスを作成します。
キューからメッセージを削除する Receive メソッドを呼び出します。
Dim mq AsNew System.Messaging.MessageQueue(".\MyQueue") mq.Send("1", "1") Dim m As System.Messaging.Message m = mq.Receive(New TimeSpan(0, 0, 3)) m.Formatter = New System.Messaging. XmlMessageFormatter({"System.String,mscorlib"}) Console.WriteLine(m.Body)
System.Messaging.MessageQueue mq = new System.Messaging.MessageQueue(".\\MyQueue"); mq.Send("1", "1"); System.Messaging.Message m = mq.Receive(new TimeSpan(0, 0, 3)); m.Formatter = new System.Messaging.XmlMessageFormatter(newstring[] { "System.String,mscorlib" }); Console.WriteLine(m.Body);
参照
処理手順
方法 : MessageQueue コンポーネントのインスタンスを作成します。