方法 : 非接続型キューにメッセージを送信する
更新 : 2007 年 11 月
メッセージをすぐにキューに配信できない状況には、次の 2 つがあります。キューが存在するコンピュータが使用できない場合と、メッセージのルーティングに必要なドメイン コントローラが使用できない場合です。メッセージ キューはこのような状況にも対処可能であり、ネットワークに接続していない場合や、必要なコンピュータまたはコントローラが使用できない場合でもメッセージの送信を続けることができます。このような場合、配信を完了するために必要なリソースが再びオンライン状態になるまで、メッセージはローカル コンピュータ上または配信経路の途中のコンピュータ上のキューに一時的に格納されます。
たとえば、営業担当者が外出先から送信する注文を、中央のキューで記録しているとします。営業担当者は、一日の大半の時間を非接続モードで作業して顧客からの注文情報を記録し、一日に 1 回だけ接続して、すべての情報を中央のキューに転送します。送信者が接続されていないときでもメッセージをキューに送信できるため、営業担当者は顧客の情報を記録したらすぐにメッセージを送信できます。システムは一日の終わりに営業担当者が接続するまでの間、それらのメッセージを保持しておきます。
非接続型キューへのメッセージの送信は、使用可能なキューにメッセージを送信するプロセスとほぼ同じです。特別な設定を行わなくても、送信先のキューが使用できない場合は、コンポーネントが一時キューにメッセージを格納します。重要な相違点は、次の 2 点です。
キューが使用できないときにドメイン コントローラが動作している場合は、パス名ではなくキューの形式名を使用して送信先のキューを識別する必要があります。キューが接続されていない場合、キューのドメイン コントローラはパス名を正しく解決できません。形式名の詳細については、「キューの参照に関する推奨事項」を参照してください。
メッセージ送信操作にタイムアウト間隔を設定している場合、メッセージが送信されるとすぐにタイムアウト期限のカウント ダウンが開始されます。つまり、キューが使用可能になるまでメッセージがローカル コンピュータ上に保持されている間もタイムアウト期限がカウント ダウンされるので、残り時間は減っていきます。タイムアウト期限を使用する場合は、配信が可能になるように十分に長い間隔に設定するか、または期限切れがわかるようにメッセージに対する受信確認 (エラー) を要求する必要があります。メッセージを配信できなかったときに受信確認を要求する方法の詳細については、「方法 : メッセージの受信確認を要求する」を参照してください。
非接続型キューにメッセージを送信するには
MessageQueue コンポーネントのインスタンスを作成します。詳細については、「方法 : MessageQueue コンポーネントのインスタンスを作成する」を参照してください。
コンポーネントの Path プロパティに、メッセージを送信するキューの形式名を設定します。
メモ : [サーバー エクスプローラ] からコンポーネントを作成した場合、このプロパティは自動的に形式名ではなくパスを参照します。形式名に変更するには、[Path] プロパティの横にある展開アイコンをクリックします。表示されたダイアログ ボックスで、コンポーネントが参照するキューを選択し、[キューの参照元] フィールドの [形式名] をクリックして、[OK] をクリックします。
メッセージを通常どおりに送信します。
単純なメッセージを送信する方法については、「方法 : 単純なメッセージを送信する」を参照してください。
Message オブジェクトを使用してメッセージを送信する方法については、「方法 : 複雑なメッセージを送信する」を参照してください。
参照
処理手順
方法 : MessageQueue コンポーネントのインスタンスを作成する