次の方法で共有


例外のトラブルシューティング : System.Messaging.MessageQueueException

Microsoft メッセージ キューの内部エラーが発生すると、MessageQueueException 例外がスローされます。

関連するヒント

  • MessageQueue の処理が失敗した原因を確認するには、例外の MessageQueueErrorCode プロパティをチェックします。
    MessageQueueException クラスに関連する例外は、プログラムによって処理する必要があるメッセージ キューの内部エラーによって生成されます。 すべての例外は、エラー コードと、エラーの原因を説明する文字列で構成されます。 これらのエラー コードの一覧とその説明については、MessageQueueErrorCode に関するトピックを参照してください。

解説

sharedModeDenyReceive パラメーターが true に設定されたキューを MessageQueue が開いた後に、別の MessageQueue がキューを読み取ろうとすると、共有違反により MessageQueueException 例外が生成されます。 MessageQueue が既にキューに非排他的にアクセスできるときに、別の MessageQueue が排他モードでキューにアクセスしようとした場合にも、同じ例外がスローされます。

Visual Basic メモVisual Basic メモ

MessageQueueTransaction は、スレッド アパートメントに対応しています。Visual Basic は、メイン スレッドの状態を STA に設定するため、 Main サブルーチンに MTAThreadAttribute を適用する必要があります。適用しない場合、別のスレッドを使用してトランザクション メッセージを送信すると、MessageQueueException 例外がスローされます。

参照

処理手順

方法: 例外処理アシスタントを使用する

関連項目

MessageQueueException