Nyelv

SqlConnection.EnlistDistributedTransaction(ITransaction) Metódus

Definíció

A megadott tranzakciót elosztott tranzakcióként veszi fel.

Új fejlesztéshez használja a Microsoft. Data.SqlClient. Ez a lap a System.Data.SqlClient fájlokat tartalmazza.

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)

Paraméterek

transaction
ITransaction

Hivatkozás egy meglévőre ITransaction , amelybe be kell jelentkezni.

Megjegyzések

A metódussal EnlistTransaction fel lehet jelentkezni egy elosztott tranzakcióba. Mivel egy példányban Transaction csatlakozik egy kapcsolathoz, az EnlistTransaction kihasználja a névtérben elérhető funkciókat az System.Transactions elosztott tranzakciók kezeléséhez, így előnyösebb az EnlistDistributedTransaction erre a célra. További információ: Elosztott tranzakciók.

Ha az automatikus beléptetés le van tiltva, az EnlistDistributedTransaction metódussal továbbra is felvehet egy meglévő elosztott tranzakciót. Egy meglévő elosztott tranzakcióba való beírással biztosítható, hogy a tranzakció véglegesítése vagy visszaállítása esetén a kód által az adatforrásban végrehajtott módosítások is véglegesítésre vagy visszaállításra kerülnek.

EnlistDistributedTransaction kivételt ad vissza, ha az SqlConnection már elindított egy tranzakciót a következő használatával BeginTransaction: . Ha azonban a tranzakció egy helyi tranzakció, amely az adatforrásban kezdődött (például a BEGIN TRANSACTION utasítás objektum használatával történő explicit végrehajtásával SqlCommand ), az EnlistDistributedTransaction visszaállítja a helyi tranzakciót, és igény szerint felveszi a meglévő elosztott tranzakciót. Nem kap értesítést arról, hogy a helyi tranzakció vissza lett állítva, és a helyi tranzakciók kezeléséért felelős, amelyek nem kezdődtek el a használatával BeginTransaction.

A következőre érvényes:

Lásd még