閱讀英文

共用方式為


TransactionInterop 類別

定義

加強 System.Transactions 與元件之間的互動,這些元件是在先前所寫入,以便與 MSDTC、COM+ 或 System.EnterpriseServices 互動。 此類別無法獲得繼承。

C#
public static class TransactionInterop
繼承
TransactionInterop

備註

這個類別提供交易傳播的方法。 如需此程式運作方式的詳細資訊,請參閱 交易傳播

使用這個類別所提供的方法,您可以參與兩種類型的交易傳播:匯出/匯入 (推播模型) 和傳送器/接收者 (提取模型) 。

匯出/匯入 (推送模型) 傳播牽涉到下列步驟:

  1. 在遠端電腦上,呼叫 GetWhereabouts 方法來取得該機器之交易管理員的「位置」。 然後,您可以在用戶端電腦上快取這項資訊,以供日後使用。

  2. 使用任何慣用方法,將包含位置的資料傳送至用戶端電腦。

  3. 在用戶端電腦上,使用關於將交易「匯出」到遠端電腦,並產生交易 「cookie」。 這是藉由呼叫 GetExportCookie 並傳入遠端電腦的位置來完成。

  4. 使用任何慣用方法,將包含交易 「cookie」 的資料傳送至遠端電腦。

  5. 在遠端電腦上,呼叫 方法,使用交易 「cookie」 來取得用戶端交易 GetTransactionFromExportCookie 的複製品。

  6. 在遠端電腦上,使用複製交易,使用 EnlistVolatile 類別的 TransactionEnlistDurable 方法來登記資源管理員。

傳輸器/接收者 (提取模型) 傳播涉及下列步驟:

  • 在用戶端電腦上,使用交易會產生對應的「傳播權杖」,方法是呼叫 GetTransmitterPropagationToken

  • 使用任何慣用方法,將包含交易「傳播權杖」的資料傳送至遠端電腦。

  • 在遠端電腦上,呼叫 xref:System.Transactions.TransactionInterop.GetTransactionFromTransmitterPropagationToken%2A,以取得用戶端交易 < 的複製品。

傳輸器/接收者模型在將交易權杖傳送至遠端電腦的案例中提供更佳的效能,但遠端電腦可能無法使用它來取得交易。 這是因為在呼叫 之前 GetTransactionFromTransmitterPropagationToken 不會傳播交易。 另一個優點是可以將傳播權杖傳送至任何遠端電腦,而匯出 Cookie 只能用於提供其位置的電腦上。

不過,您也應該注意,遠端交易管理員的所在位置會封裝在所有傳播權杖中,使其大於來自匯出/匯入模型的對應交易 Cookie。

欄位

PromoterTypeDtc

分散式交易處理器的類型。

方法

GetDtcTransaction(Transaction)

取得表示 TransactionIDtcTransaction 執行個體。

GetExportCookie(Transaction, Byte[])

將異動物件轉換成匯出異動 Cookie。

GetTransactionFromDtcTransaction(IDtcTransaction)

從指定的 IDtcTransaction 產生 Transaction

GetTransactionFromExportCookie(Byte[])

從指定的匯出 Cookie 產生 Transaction

GetTransactionFromTransmitterPropagationToken(Byte[])

從指定的傳送者傳播權杖產生 Transaction 執行個體。

GetTransmitterPropagationToken(Transaction)

針對指定的 Transaction 產生傳送者傳播權杖。

GetWhereabouts()

取得 System.Transactions 使用之分散式交易管理員的所在資訊。

適用於

產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1