キュー参照に関する推奨事項
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
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 コンポーネントのインスタンスを作成します。