TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Metode

Definisi

Memasukkan kembali peserta yang tahan lama dalam transaksi.

public:
 static System::Transactions::Enlistment ^ Reenlist(Guid resourceManagerIdentifier, cli::array <System::Byte> ^ recoveryInformation, System::Transactions::IEnlistmentNotification ^ enlistmentNotification);
public static System.Transactions.Enlistment Reenlist(Guid resourceManagerIdentifier, byte[] recoveryInformation, System.Transactions.IEnlistmentNotification enlistmentNotification);
static member Reenlist : Guid * byte[] * System.Transactions.IEnlistmentNotification -> System.Transactions.Enlistment
Public Shared Function Reenlist (resourceManagerIdentifier As Guid, recoveryInformation As Byte(), enlistmentNotification As IEnlistmentNotification) As Enlistment

Parameter

resourceManagerIdentifier
Guid

Yang Guid secara unik mengidentifikasi resource manager.

recoveryInformation
Byte[]

Berisi informasi tambahan informasi pemulihan.

enlistmentNotification
IEnlistmentNotification

Objek sumber daya yang mengimplementasikan IEnlistmentNotification untuk menerima pemberitahuan.

Mengembalikan

Yang Enlistment menjelaskan pendaftaran.

Pengecualian

recoveryInformation tidak valid.

-atau-

Informasi Manajer Transaksi di tidak cocok dengan manajer transaksi yang dikonfigurasi recoveryInformation .

-atau-

recoveryInformation tidak dikenali oleh System.Transactions.

RecoveryComplete(Guid) telah dipanggil untuk yang ditentukan resourceManagerIdentifier. Reenlistment ditolak.

resourceManagerIdentifier tidak cocok dengan konten informasi pemulihan yang ditentukan di recoveryInformation.

Keterangan

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Manajer sumber daya memfasilitasi resolusi komitmen yang tahan lama dalam transaksi dengan mendaftarkan kembali pelaku transaksi setelah kegagalan pada sumber daya.

Parameter resourceManagerIdentifier digunakan untuk secara konsisten memberi label peserta transaksi jika terjadi kegagalan sumber daya. Saat memanggil Reenlist metode , manajer sumber daya harus memberikan hal yang sama seperti yang resourceManagerIdentifier digunakan ketika awalnya disebut EnlistDurable metode selama pendaftaran, atau TransactionException dilemparkan.

Ketika peserta diandalkan kembali menggunakan metode ini, metode IEnlistmentNotification fase 2 yang sesuai dengan hasil transaksi (yaitu, Commit, Rollback, atau InDoubt ) dipanggil sebagai tepat.

Setelah peserta berhasil diandalkan kembali, Anda kemudian harus memanggil RecoveryComplete untuk menyelesaikan pemulihan.

Anda hanya boleh memanggil metode ini ketika manajer sumber daya memulai ulang dari kegagalan. Selain itu, Anda hanya boleh memasukkan kembali transaksi yang belum terselesaikan yang dicatat oleh manajer sumber daya selama fase Persiapan awal penerapan dua fase. Setiap upaya untuk memanggil metode ini pada waktu yang tidak valid dapat menghasilkan hasil yang salah.

Jika manajer transaksi gagal, dan resource manager Anda melakukan pemulihan hanya dalam waktu singkat setelah Anda memanggil Prepared metode pada pendaftaran di fase 1 protokol Two-Phase Commit, resource manager Anda mungkin menerima InDoubt atau Rollback memanggil balik.

Berlaku untuk