次の方法で共有


方法 : 複雑なメッセージを送信する

更新 : 2007 年 11 月

Send メソッドの引数にメッセージを指定すると単純なメッセージを送信できますが、メッセージをより詳細に制御することもできます。これを行うには、共有の Send メソッドで自動的にメッセージを作成して送信するのではなく、Message オブジェクトを明示的に作成します。作成した Message オブジェクトのプロパティを操作すると、より複雑なメッセージを作成し、メッセージの処理方法をより厳密に制御できます。

複雑なメッセージを送信するには、やり取りするキューへの接続を先に作成してから、送信するデータを指定します。ただし、送信するデータを指定する作業には、メッセージを送信する前に Message クラスのインスタンスを作成し、必要なプロパティを設定して、配信機構を微調整する作業が含まれます。単純なメッセージの場合と同様に、システムはメッセージ オブジェクトを永続化し、指定されたキューに送信します。

33h94ddt.alert_note(ja-jp,VS.90).gifメモ :

Message オブジェクトを使用すると、メッセージをトランザクションの一部として送信できます。詳細については、「トランザクション メッセージ処理」を参照してください。

Message クラスを使用して複雑なメッセージを送信するには

  1. MessageQueue コンポーネントのインスタンスを作成し、その Path プロパティに、参照するキューを設定します。詳細については、「方法 : MessageQueue コンポーネントのインスタンスを作成する」を参照してください。

    33h94ddt.alert_note(ja-jp,VS.90).gifメモ :

    コンポーネントをサーバー エクスプローラから作成した場合、Path プロパティは自動的にキューのキュー パスに設定されます。

  2. Message オブジェクトのインスタンスを作成します。

  3. メッセージの本文を設定し、既定値から変更するプロパティがある場合はそれを指定します。

  4. 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 コンポーネントのインスタンスを作成する

方法 : 単純なメッセージを送信する

方法 : デザイン時にメッセージを検査する

概念

トランザクション メッセージ処理

その他の技術情報

メッセージの送信とシリアル化