MessageQueueTransaction 類別

定義

提供訊息佇列內部交易。

public ref class MessageQueueTransaction : IDisposable
public class MessageQueueTransaction : IDisposable
type MessageQueueTransaction = class
    interface IDisposable
Public Class MessageQueueTransaction
Implements IDisposable
繼承
MessageQueueTransaction
實作

備註

若要傳送或接收訊息做為交易的一部分,您可以使用 MessageQueueTransaction 類別來建立交易,並將它傳遞至方法的多 MessageQueue.Send 載或 MessageQueue.Receive 採用 transaction 參數的方法。 傳送為交易一部分的訊息必須傳送至交易佇列。 從交易佇列接收的訊息必須使用指定的交易來接收。

除了 Receive 方法之外,您還可以接收具有指定識別碼或指定相互關聯識別碼的訊息。 ReceiveById如需選擇性地從交易佇列接收訊息的詳細資訊,請參閱 和 ReceiveByCorrelationId 方法。

如果認可交易,則會移除傳送至交易佇列的訊息。 同樣地,如果交易回復,則從交易佇列接收的訊息會傳回佇列。

如果您具現化 MessageQueueTransaction ,並將其傳遞至方法或 Receive 方法的適用多載 Send ,以將訊息傳送至非交易佇列或接收來自非交易佇列的訊息,方法會擲回指出「交易使用量錯誤」的例外狀況。

MessageQueueTransaction 是執行緒 Apartment 感知,因此如果您的 Apartment 狀態為 STA ,則您無法在多個執行緒中使用交易。 Visual Basic 會將主執行緒的狀態設定為 STA ,因此您必須在副程式中套 MainMTAThreadAttribute 。 否則,使用其他執行緒傳送交易式訊息時,會擲回 MessageQueueException 例外狀況。 您可以使用下列片段來套用 MTAThreadAttribute

<System.MTAThreadAttribute>  
 public sub Main()  

建構函式

MessageQueueTransaction()

初始化 MessageQueueTransaction 類別的新執行個體。

屬性

Status

取得交易的狀態。

方法

Abort()

復原暫止的內部交易。

Begin()

開始新的訊息佇列內部交易。

Commit()

認可一個暫止的內部交易。

Dispose()

釋放 MessageQueueTransaction 所使用的所有資源。

Dispose(Boolean)

釋放 MessageQueueTransaction 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Finalize()

將目前執行個體所持有的資源釋出。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

執行緒安全性

此型別具備執行緒安全。

另請參閱