MessageQueue.Transactional プロパティ
アセンブリ: System.Messaging (system.messaging.dll 内)

キューがトランザクションの一部として送信されるメッセージだけを受け入れる場合は true。それ以外の場合は false。


トランザクション メッセージは、単一のトランザクションに関連付けられたいくつかのメッセージの組み合わせを参照します。トランザクションの一部としてメッセージを送信すると、メッセージは順番に 1 回だけ配信され、送信先キューから正常に取得できます。
キューがトランザクション キューの場合は、トランザクションの一部として送信されたメッセージだけを受け入れます。しかし、トランザクションの Begin、Commit、Abort の各構文を明示的に使用せずに、非トランザクションメッセージをローカル トランザクション キューで送受信することもできます。非トランザクション メッセージがトランザクション キューへ送信された場合は、このコンポーネントによってそのための単一メッセージ トランザクションが作成されます。ただし、直接書式名を使用して、リモート コンピュータのキューを参照している場合は除きます。このとき、メッセージの送信時にトランザクション コンテキストを指定しなかった場合は、単一メッセージ トランザクションが作成されず、メッセージは配信不能キューに送信されます。
非トランザクションメッセージをトランザクション キューに送信した場合は、例外が発生したときにメッセージをロールバックできません。
MessageQueueTransaction がスレッド アパートメントに対応しているため、アパートメントの状態が STA の場合は、複数のスレッドで同じトランザクションを使用できません。Visual Basic はメイン スレッドの状態を STA に設定するため、Main サブルーチンで MTAThreadAttribute を適用する必要があります。この処理を行っていない場合は、別のスレッドを使用してトランザクション メッセージを送信すると、MessageQueueException 例外がスローされます。MTAThreadAttribute を適用するには、次のコード片を使用します。
このプロパティが各種のワークグループ モードで使用できるかどうかを次の表に示します。



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MessageQueue クラス
MessageQueue メンバ
System.Messaging 名前空間
Begin
Commit
Abort
Message.TransactionId プロパティ
Message.IsFirstInTransaction プロパティ
Message.IsLastInTransaction プロパティ
- MessageQueue.Transactional プロパティのページへのリンク