Mengelola Transaksi Otomatis di COM+

Dalam model pemrograman COM+, Anda dapat merancang komponen anda untuk melakukan apa yang terbaik—memungkinkan logika bisnis atau membuat koneksi database—dan mengandalkan kerangka kerja pemrosesan transaksi Microsoft Windows untuk mengotomatiskan transaksi.

Memulai Transaksi

COM+ secara otomatis memulai transaksi ketika mengalami salah satu kondisi berikut:

  • Ketika klien non-transaksi yang memanggil komponen yang memerlukan transaksi atau memerlukan transaksi baru.
  • Ketika klien transaksi yang memanggil komponen yang memerlukan transaksi baru.

Jika COM+ menentukan bahwa objek harus memiliki transaksi baru, itu memulai transaksi terlebih dahulu dan kemudian menempatkan objek di dalamnya. Proses ini mencakup langkah-langkah berikut:

  1. COM+ membuat objek konteks, mengatur atribut aktivasi dan Sinkronisasi JIT ke Diperlukan, dan mengatur bendera yang konsisten dan dilakukan ke True dan False, masing-masing.
  2. COM+ berkomunikasi dengan Koordinator Transaksi Terdistribusi (DTC) untuk memulai transaksi. DTC mengoordinasikan transaksi fisik.
  3. DTC menghasilkan pengidentifikasi transaksi dan meneruskannya kembali ke COM+. Pengidentifikasi transaksi menetapkan batas transaksi. Semua objek yang berpartisipasi dalam transaksi memiliki pengidentifikasi yang sama.
  4. Saat klien membuat objek, COM+ mengaktifkannya dalam batas transaksi.

Mengakhiri Transaksi

COM+ mengakhiri transaksi otomatis dengan menerapkan atau membatalkannya ketika salah satu kondisi berikut terjadi:

  • Objek akar transaksi menyelesaikan pekerjaannya dan COM+ merilisnya. Setelah objek akar dinonaktifkan, transaksi mencoba diterapkan.
  • Klien merilis objek akar. Tanpa referensi, objek akar akan dinonaktifkan dan transaksi mencoba melakukan.
  • Transaksi melebihi ambang batas waktu habisnya. Transaksi dibatalkan secara otomatis jika tidak dilakukan dalam periode batas waktu transaksi, menonaktifkan semua objek yang terkait dengan transaksi. Periode batas waktu transaksi default adalah 60 detik.

Bendera Konsisten dan Selesai

Mempercepat Transaksi dengan Memberi Tahu Objek Akar

Mengakhiri Transaksi Otomatis dengan Memanggil SetComplete