次の方法で共有


方法 : キューを取得します。

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

か静的または動的な取得機構を使用してキューの一覧を取得することができます。 キューの静的一覧を取得すると、システムは、クエリの結果で MessageQueue オブジェクトを返します。 キューの動的な一覧を取得すると、システムは、クエリの結果で MessageQueueEnumerator オブジェクトを返します。

MessageEnumerator、キュー内の順序に従ってメッセージを返すとは異なり、 MessageQueueEnumerator は返しませんキュー任意の順序で。 これは、ネットワーク上のキューの順序で定義されていないため) はいない順、つまりコンピューター、ラベル、またはその他のユーザーがアクセス可能な条件です。 列挙体の最初のキューにカーソルを移動 MoveNext メソッドを呼び出すことを実行することができます。 列挙子が初期化された後に、MoveNext を使って残りのキューを順に進んでいくことができます。

MessageQueueEnumerator で後方に移動することはできません。 キュー列挙体の中では、カーソルは前方移動だけできます。 ただし、メソッド、列挙体をリセットしてもう一度、リストの冒頭にカーソルを置きますを Reset を呼び出すことができます。 列挙子は動的であるため、カーソルの現在の位置を越えて追加されるキュー アクセスできます。 カーソルの現在位置の前に挿入がキューには、最初の呼び出し元の Reset なしアクセスできません。

GetPublicQueues GetPrivateQueuesByMachine、および GetMessageQueueEnumerator メソッドは静的であるため、メソッドを呼び出す前に MessageQueue クラスのインスタンスを作成する必要はありません。

パブリックまたはプライベート キューの静的一覧を取得

  1. クエリの結果を保持する型 MessageQueue の配列を作成します。

  2. MessageQueue クラスに対して、適切なメソッドを呼び出します。

    • 条件なしのすべてのパブリック キューを取得するには GetPublicQueues メソッドを呼び出します。

    • 抽出条件を指定したパブリック キューを取得するには、Criteria パラメーターを適切な値に設定を GetPrivateQueuesByMachine メソッドを呼び出します。

    • カテゴリの GUID を共有するパブリック キューだけを取得するには GetPublicQueuesByCategory メソッドを呼び出すし、パラメーターとして、カテゴリの GUID を指定します。

    • ラベルを共有するパブリック キューだけを取得するには GetPublicQueuesByLabel メソッドを呼び出してパラメーターとして、ラベルを指定します。

    • 特定コンピューター上でパブリック キューだけを取得するには、GetPublicQueuesByMachine メソッドを呼び出すし、パラメーターとして、コンピューター名を指定します。

  3. 配列の結果を割り当てます。

    たとえば、次のコードはリスト ボックスを使って、ローカル コンピューターに取得したすべてのパブリック キューのラベルを表示する可能性がある方法を示します。

                                Private
                                Sub button1_Click(ByVal sender As System.Object,
       ByVal e As System.EventArgs) Handles button1.Click
        Dim mqlist() As System.Messaging.MessageQueue
        Dim i AsInteger    ' Retrieve queues on the local machine.
        mqlist = System.Messaging.MessageQueue.GetPublicQueuesByMachine(".")
        ' Clear the current contents of the list.Me.ListBox1.Items.Clear()
        ' Display the results.For i = 0 To mqlist.Length - 1
            Me.ListBox1.Items.Add(mqlist(i).Path)
        NextEndSub
    
                                private
                                void button1_Click(System.Object sender, System.EventArgs e)
        {
            System.Messaging.MessageQueue[] mqlist;
            // Retrieve public queues.
            mqlist = System.Messaging.MessageQueue.GetPublicQueuesByMachine(
               ".");
            // Clear the current contents of the list.this.listBox1.Items.Clear();
            // Display the results.for (int i = 0; i < mqlist.Length; i++)
            {
                this.listBox1.Items.Add(mqlist[i].Path);
            }
        }
    

キューの動的な一覧を取得

  1. MessageQueueEnumerator オブジェクト、クエリの結果を保持するを作成します。

  2. GetMessageQueueEnumerator クラスに対して、 MessageQueue メソッドを呼び出します。

  3. ネットワーク上のキューのサブセットを取得するには、MessageQueueCriteria パラメーターを適切な値に設定します。

  4. 作成した MessageQueueEnumerator オブジェクトに、結果を設定します。 コード次のように可能性があります。

                                Dim mqEnum As System.Messaging.MessageQueueEnumerator
    mqEnum = System.Messaging.MessageQueue.GetMessageQueueEnumerator()
    
            System.Messaging.MessageQueueEnumerator mqEnum;
            mqEnum = System.Messaging.MessageQueue.GetMessageQueueEnumerator();
    

参照

処理手順

方法 : メッセージを取得します。

概念

キューおよびメッセージのコレクション