キュー参照に関する推奨事項

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

MessageQueue コンポーネントのインスタンスを作成する場合は、コンポーネントがやり取りするキューを指定する必要があります。 コード内でキューを参照する方法を次の 3 つがあります。

  • パスによって、キューへのパスが識別関心を持っているキューのコンピューターおよびキューの名前。

  • 形式名で)、キューが作成またはアプリケーションが後で生成されるときに、MSMQ によって生成されるキューの一意の識別子です。

  • ラベルで) 説明と可能性のある非固有名をキュー、キューが作成されると、キューの管理者によって割り当てられています。

MessageQueue コンポーネントの新しいインスタンスではなく、新しいキューを作成する場合は、パスが使わなければなりません。 形式名とラベルは、キューを作成した後、メッセージ キュー システムによって割り当てられます。 ツールボックス からまたはコードで、既存のキューを参照するときただし、選択できますを参照する方法が使用します。 選択した方法は、コンポーネントの Path プロパティに格納されます。

パスを使用して、キューを参照するには

キューのパスは、フォーム servername\queuename を受け取ります。 キューへのパスは、常に一意です。 次の表は、キューの種類ごとを使用するパスに関する情報を一覧します。

キューの種類

パスで使用される構文

パブリック キュー

MachineName\QueueName

プライベート キュー

MachineName\Private $ \QueueName

ジャーナル キュー

MachineName\QueueName\Journal $

コンピューターの履歴キュー

MachineName\Journal $

コンピューター配信不能キュー

MachineName\Deadletter $

コンピューター トランザクション配信不能キュー

MachineName\XactDeadletter $

"." "YourMachine\MyQueue" に相当ように、ローカル コンピューター名には ".\MyQueue" を使用ことができます。

パスを使用して、キューを参照する方法について、いくつかの注意事項を次に示します。

  • パスによって参照されるキューの操作を受け取ったメッセージ キュー サーバー上のドメイン コントローラーはそのパスの解決を対象となるキューの形式の名前をする必要があります。 これは、場合、キューを参照形式の名前によって直接よりわずかに低速のパフォーマンス結果可能性があります。

  • XML Web サービスとして使用するコンポーネントをデザインするしまいます最良のパフォーマンス結果を参照するパス メソッドではなくキュー形式名メソッドを使ってします。

  • キューが切断されたときにメッセージを送信する場合はパスで、キューを参照できません。 非接続型メッセージは、形式名を使用して送信する必要があります。

クエリを実行して MessageQueue 基本クラスの 2 つの個別プロパティの戻り値の結果を組み合わせること、キューのパスを取得できます ( MachineName プロパティと QueueName プロパティ。

次のコードでは、パスによって、キューを参照するようになります。

MessageQueue1.Path = "YourMachine\MyQueue"
        MessageQueue1.Path = @"YourMachine\MyQueue";

注意

@"します。\MyQueue"C# の構文を使用して"します。\\MyQueue"代わりにします。@ 記号をリテラル文字列を示します。詳細については、「string (C# Reference)」を参照してください。

形式名をによるキューへの参照

形式名かどうかキューがパブリックまたはプライベート キューを他の識別子に応じて生成された GUID を続けてを示す文字列の形をとります。 次の表は、キューの種類ごとを使用するパスに関する情報を一覧します。

キューの種類

形式名で使用される構文

パブリック キュー

FORMATNAME:PUBLIC = QueueGUID

プライベート キュー

FORMATNAME:PRIVATE = MachineGUID\QueueNumber

ジャーナル キュー

FORMATNAME:PUBLIC = QueueGUID; ジャーナル   

FORMATNAME:PRIVATE = MachineGUID\QueueNumber; ジャーナル

; をキューに、形式名を割り当てない代わりに、キュー マネージャーは、キューの作成時にこの値。 形式名を指定して、キューを参照するです最も直接的に、キューのアクセス、サーバー上のドメイン コントローラーは、キューをパスで参照するときは、参照を解釈するがあるないため。

形式名で、キューの参照に関するいくつかのヒントを次に示します。

  • 非接続型キューにメッセージを送信する場合は、必要があります参照する、キュー パスではなく形式名によってパスは、キューはオフラインで解決できるできないため。

  • キューが削除され再作成とき、または、ネットワークできます変更するときに形式名の無効な可能性があります。

キューの形式名、FormatName クラスの MessageQueue プロパティを照会して取得できます。

次のコードでは、キュー形式名で参照するようになります。

MessageQueue1.Path =
   "FORMATNAME:PUBLIC=3d3dc813-c555-4fd3-8ce0-79d5b45e0d75"
        MessageQueue1.Path =
           "FORMATNAME:PUBLIC=3d3dc813-c555-4fd3-8ce0-79d5b45e0d75";

ラベルを使用してキューを参照するには

管理者によって、キューに指定された説明のテキスト ラベルです、そのラベルをキューにも参照できます。 ラベルはありません、常に一意にすると、そのラベルを使用して、特定のキューに接続しようとする時に名前の競合が存在する場合、エラーが表示されますのでです。

ラベルは場所わかっては、キューを 1 台のコンピューター別に移動しようとする状況で役立ちます。 ラベルだけで、キューに参照する場合、操作のすべては正常に機能、キューが新しい位置に移動された後、新しいコンピューターでそのラベルを持つ他のキューが存在し続けます。 ない場合は、Send メソッドは、エラーになります。

キューのラベルは、Label クラスの MessageQueue プロパティを照会して取得できます。

次のコードでは、ラベル名で、キューを参照するようになります。

MessageQueue1.Path = "LABEL:MyQueue"
        MessageQueue1.Path = "LABEL:MyQueue";

詳細については 方法 : キュー参照を設定する および 方法 : キュー参照を設定する および 方法 : キュー参照の設定を参照してください。

参照

処理手順

方法 : キューを作成します。

方法 : MessageQueue コンポーネントのインスタンスを作成します。

その他の技術情報

作成、削除、およびキューを管理します。