方法 : 複雑なメッセージを送信する
更新 : 2007 年 11 月
Send メソッドの引数にメッセージを指定すると単純なメッセージを送信できますが、メッセージをより詳細に制御することもできます。これを行うには、共有の Send メソッドで自動的にメッセージを作成して送信するのではなく、Message オブジェクトを明示的に作成します。作成した Message オブジェクトのプロパティを操作すると、より複雑なメッセージを作成し、メッセージの処理方法をより厳密に制御できます。
複雑なメッセージを送信するには、やり取りするキューへの接続を先に作成してから、送信するデータを指定します。ただし、送信するデータを指定する作業には、メッセージを送信する前に Message クラスのインスタンスを作成し、必要なプロパティを設定して、配信機構を微調整する作業が含まれます。単純なメッセージの場合と同様に、システムはメッセージ オブジェクトを永続化し、指定されたキューに送信します。
メモ : |
---|
Message オブジェクトを使用すると、メッセージをトランザクションの一部として送信できます。詳細については、「トランザクション メッセージ処理」を参照してください。 |
Message クラスを使用して複雑なメッセージを送信するには
MessageQueue コンポーネントのインスタンスを作成し、その Path プロパティに、参照するキューを設定します。詳細については、「方法 : MessageQueue コンポーネントのインスタンスを作成する」を参照してください。
メモ : コンポーネントをサーバー エクスプローラから作成した場合、Path プロパティは自動的にキューのキュー パスに設定されます。
Message オブジェクトのインスタンスを作成します。
メッセージの本文を設定し、既定値から変更するプロパティがある場合はそれを指定します。
Send メソッドを使用してキューにオブジェクトを送信します。
完成したコードは次のようになります。
Dim MessageQueue1 As New System.Messaging.MessageQueue(".\YourQueue") Dim newMessage As New System.Messaging.Message("Hello again") newMessage.Label = "This is the label." MessageQueue1.Send(newMessage)
System.Messaging.MessageQueue myMQ1 = new System.Messaging.MessageQueue(@".\YourQueue"); System.Messaging.Message newMessage = new System.Messaging.Message("Hello again"); newMessage.Label = "This is the label"; myMQ1.Send(newMessage);
参照
処理手順
方法 : MessageQueue コンポーネントのインスタンスを作成する