Baca dalam bahasa Inggris

Bagikan melalui


Transaksi

Transaksi adalah objek yang mendefinisikan unit kerja logis. Transaksi masih hidup selama ada handel yang merujuk pada transaksi dan dianggap aktif jika transaksi belum dilakukan atau digulung balik. Jika transaksi dibuat dan semua handel ke transaksi telah ditutup sebelum penerapan atau pembatalan terjadi, transaksi akan digulung balik.

Pertimbangkan kasus klien transaksional mode pengguna yang membuat transaksi untuk mencakup operasinya, lalu melakukan pembaruan pada satu atau beberapa manajer sumber daya. Berikut ini terjadi:

  1. Klien memanggil fungsi CreateTransaction untuk membuat transaksi dan menerima handel untuk transaksi tersebut sebagai nilai pengembalian.

    Transaksi dapat dibuka atau diwarisi oleh sejumlah proses; setiap proses dengan demikian terlibat dalam transaksi. Kegagalan salah satu proses ini akan menyebabkan transaksi dibatalkan.

    Transaksi ini mungkin belum persisten. Hanya transaksi yang telah mencapai status yang disiapkan yang harus dipulihkan di seluruh kegagalan sistem jika transaksi menggunakan pengelogan yang diduga dibatalkan.

  2. Klien harus meneruskan transaksi ke manajer sumber daya secara eksplisit.

  3. Klien melakukan semua operasi transaksi dengan satu atau beberapa RM, seperti sistem file yang ditransaksikan.

  4. Klien memanggil fungsi CommitTransaction .

  5. Manajer sumber daya menerima pemberitahuan dari KTM untuk menyiapkan dan menerapkan datanya.

Transaksi dan Utas

Transaksi tidak sama dengan utas. Beberapa utas atau proses dapat menjadi bagian dari satu transaksi. Sebaliknya, utas dapat menjadi bagian dari beberapa transaksi yang berbeda pada waktu yang berbeda.

Fungsi Transaksi

Fungsi berikut digunakan dengan transaksi.

Fungsi Deskripsi
CommitTransaction Meminta agar transaksi yang ditentukan dilakukan.
CommitTransactionAsync Meminta agar transaksi yang ditentukan dilakukan.
CreateTransaction Membuat objek transaksi baru.
GetTransactionInformation Mengembalikan informasi yang diminta tentang transaksi yang ditentukan.
OpenTransaction Membuka transaksi yang ada.
RollbackTransaction Meminta agar transaksi yang ditentukan digulung balik.
RollbackTransactionAsync Meminta agar transaksi yang ditentukan digulung balik. Fungsi ini mengembalikan secara asinkron.
SetTransactionInformation Mengatur informasi transaksi untuk transaksi yang ditentukan.