方法 : キューを作成する
更新 : 2007 年 11 月
キューの作成とは、メッセージング コンポーネントがやり取りできるリソースを作成することです。たとえば、営業担当者から注文を受け取ったときや、Web サイトで顧客から直接注文を受けたときに、注文をキューに格納する注文入力システムを構築するとします。その場合はまず、メッセージ キュー エンタープライズ上に OrderEntry キューを作成します。注文を処理するために作成するすべてのコンポーネントは、このキューとやり取りします。
キューを作成するには、[サーバー エクスプローラ] ウィンドウを使用する方法と、コードで Create コンストラクタを使用する方法の 2 つの方法があります。[サーバー エクスプローラ] ウィンドウまたは Windows 2000 の [コンピュータの管理] ウィンドウで、キューが正しく作成されたかどうかを確認できます。
パブリック キューは、自分のコンピュータ上、または自分がドメインあるいはエンタープライズ管理アクセス権を持っている任意のメッセージ キュー コンピュータ上に作成できます。プライベート キューは、ローカル コンピュータ上にだけ作成できます。アクセス権の詳細については、「メッセージ キューのセキュリティ」を参照するか、または [コンピュータの管理] ウィンドウに関するドキュメントで「メッセージ キューのアクセス制御」を参照してください。
メモ : |
---|
キューの作成と MessageQueue コンポーネントのインスタンスの作成には相違点があります。Create メソッドを使用すると、新しいキューは、プロジェクトまたはアプリケーションのコンポーネントではなく、メッセージ キュー ネットワークに作成されます。MessageQueue コンポーネントのインスタンスを作成すると、オペレーティング システム内の既存のキューを参照するコンポーネントがプロジェクト内に作成されます。 |
または、アプリケーションの配置時に既存のキューを作成または検索するように、インストール コンポーネントを設定できます。詳細については、「配置でのカスタム動作の管理」を参照してください。
サーバー エクスプローラでキューを作成するには
サーバー エクスプローラ を開いて、キューを作成するサーバーにアクセスします。詳細については、「方法 : サーバー エクスプローラ/データベース エクスプローラにアクセスして初期化する」を参照してください。
Visual Studio プロジェクトに MessageQueue コンポーネントのインスタンスを追加すると、これらの名前空間やクラスへのアクセスに必要な参照およびインポート ステートメントが自動的に作成されます。
[メッセージ キュー] ノードを右クリックします。
作成するキューの種類に応じて [パブリック キュー] または [専用キュー] を右クリックし、[キューの作成] をクリックします。
[メッセージ キューの作成] ダイアログ ボックスで、キューの名前を入力します。
トランザクション キューを作成する場合は、[キューをトランザクションにする] をオンにします。詳細については、「トランザクション メッセージ処理」を参照してください。
メモ : ドメインが大きく、ドメインに多数のドメイン コントローラが含まれていると、パブリック メッセージ キューの作成に予想よりも長い時間がかかる場合があります。これは、新しいパブリック キューを使用しているコンピュータのドメイン コントローラからドメイン内の他のすべてのドメイン コントローラにレプリケートするのに時間がかかるためです。このレプリケーション プロセスの間に、遅延が起こる場合があります。
プログラムでパブリック キューを作成するには
プロジェクトを右クリックし、[参照の追加] をクリックします。System.Messaging.dll への参照を追加します。
Create メソッドを使用して、コンピュータ上にパブリック キューを作成します。コードは、次のようになります。
System.Messaging.MessageQueue.Create("myMachine\MyQueue")
System.Messaging.MessageQueue.Create(@"myMachine\MyQueue");
ヒント : Create メソッドのオーバーロードを使用して、トランザクション キューを作成するように指示できます。ローカル コンピュータを表すために、パス内でピリオド ( . ) を使用することもできます。
セキュリティに関するメモ : メッセージ キューを作成する場合は、リソースが既に存在している可能性があることに注意してください。他の (おそらく不正な) プロセスが既に、自由にアクセスできるリソースを作成している可能性もあります。メッセージ キューに入れたデータは、他のプロセスから利用できます。既存のキューについては、「方法 : キューを取得する」を参照してください。
プログラムでプライベート キューを作成するには
Create メソッドに所定の構文 Private$ を指定して、コンピュータ上にプライベート キューを作成します。コードは、次のようになります。
System.Messaging.MessageQueue.Create(".\Private$\MyPrivateQueue")
System.Messaging.MessageQueue.Create(@".\Private$\MyPrivateQueue");
[サーバー エクスプローラ] ウィンドウまたは Windows 2000 の [コンピュータの管理] ウィンドウで、メッセージ キューが作成されたことを確認できます。
メッセージ キューが作成されたことを確認するには
サーバー エクスプローラ で、[メッセージ キュー] を右クリックして [最新の情報に更新] をクリックすることにより、[メッセージ キュー] ノードを更新します。キューが表示されるまで少し時間がかかる場合があります。
または
Windows 2000 でメッセージ キュー情報を表示するには、次の手順に従います。
[マイ コンピュータ] を右クリックし、[管理] をクリックします。
表示されるダイアログ ボックスで、[サービスとアプリケーション] ノードを展開し、[メッセージ キュー] を展開します。ノード内にキューとそのメッセージが表示されます。
参照
処理手順
方法 : MessageQueue コンポーネントのインスタンスを作成する