SqlConnection.EnlistDistributedTransaction(ITransaction) 方法

定義

將指定的異動登記為分散式異動。

public:
 void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ transaction);
public void EnlistDistributedTransaction (System.EnterpriseServices.ITransaction transaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (transaction As ITransaction)

參數

transaction
ITransaction

要登記之現有 ITransaction 的參考。

備註

您可以使用 EnlistTransaction 方法在分散式交易中登記。 因為它會在實例中 Transaction 登記連線, 所以 EnlistTransaction 會利用命名空間中 System.Transactions 可用的功能來管理分散式交易,因此最好是 EnlistDistributedTransaction 以供此用途使用。 如需詳細資訊,請參閱分散式交易

如果停用自動登記,您可以使用 EnlistDistributedTransaction 方法,繼續在現有的分散式交易中登記。 在現有的分散式交易中登記可確保,如果認可或回復交易,也會認可或回復數據源上的程式代碼所做的修改。

EnlistDistributedTransaction如果已經使用 BeginTransaction啟動交易,則SqlConnection傳回例外狀況。 不過,如果交易是在數據源 (啟動的本機交易,例如,藉由使用 SqlCommand 物件) 明確執行 BEGIN TRANSACTION 語句, EnlistDistributedTransaction 會復原本機交易,並依要求在現有的分散式交易中登記。 您不會收到本機交易已回復的通知,且負責管理未使用 BeginTransaction啟動的任何本機交易。

適用於

另請參閱