例外のトラブルシューティング : System.Messaging.MessageQueueException
Microsoft メッセージ キューの内部エラーが発生すると、MessageQueueException 例外がスローされます。
関連するヒント
- MessageQueue の処理が失敗した原因を確認するには、例外の MessageQueueErrorCode プロパティをチェックします。
MessageQueueException クラスに関連する例外は、プログラムによって処理する必要があるメッセージ キューの内部エラーによって生成されます。 すべての例外は、エラー コードと、エラーの原因を説明する文字列で構成されます。 これらのエラー コードの一覧とその説明については、MessageQueueErrorCode に関するトピックを参照してください。
解説
sharedModeDenyReceive パラメーターが true に設定されたキューを MessageQueue が開いた後に、別の MessageQueue がキューを読み取ろうとすると、共有違反により MessageQueueException 例外が生成されます。 MessageQueue が既にキューに非排他的にアクセスできるときに、別の MessageQueue が排他モードでキューにアクセスしようとした場合にも、同じ例外がスローされます。
![]() |
---|
MessageQueueTransaction は、スレッド アパートメントに対応しています。Visual Basic は、メイン スレッドの状態を STA に設定するため、 Main サブルーチンに MTAThreadAttribute を適用する必要があります。適用しない場合、別のスレッドを使用してトランザクション メッセージを送信すると、MessageQueueException 例外がスローされます。 |