MessageQueueTransaction 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供訊息佇列內部交易。
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
,因此您必須在子程式中套Main
用 MTAThreadAttribute 。 否則,使用其他執行緒傳送交易式訊息時,會擲回 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) |
適用於
執行緒安全性
此型別具備執行緒安全。