Konsep Sinkronisasi COM+

Umumnya, penyelarasan tidak diperlukan ketika Anda memiliki apartemen dengan satu alur tunggal (STA) karena apartemen tersebut menyediakan penyelarasan untuk Anda. Sinkronisasi menjadi penting ketika Anda memiliki apartemen multithreaded (MTA) dan objek utas bebas. Di masa lalu, objek berulir bebas harus menangani penguncian. Anda dapat menghilangkan kebutuhan untuk menggunakan penguncian dengan mengatur atribut sinkronisasi untuk komponen.

Sinkronisasi memiliki properti berikut:

  • Memungkinkan satu penelepon untuk memasuki komponen satu per satu.
  • Melarang aliran antar proses atau antar komputer.
  • Mengalir dari komponen ke komponen dalam proses.
  • Memungkinkan reentri dari pemanggil yang sama.

Tidak seperti apartemen, aktivitas mencakup konteks dari beberapa proses dan host. Sinkronisasi menentukan aktivitas mana yang akan berisi objek. Objek dapat berada di salah satu aktivitas berikut:

  • Aktivitas Pembuat
  • Aktivitas baru
  • Tidak ada aktivitas

COM+ memastikan keserentakan dengan serangkaian kunci untuk setiap aktivitas. Jika penelepon mencoba memasukkan komponen yang disinkronkan COM+ yang sudah digunakan oleh pemanggil lain, panggilan diblokir hingga kunci dilepaskan. Perilaku pemblokiran ini tidak akan mengalami kedaluwarsa dan tidak dapat diatur untuk kedaluwarsa. Jika kunci tidak digunakan, kunci dibuka dan panggilan diproses. Setelah selesai, kunci dilepaskan untuk penelepon berikutnya. Untuk mencegah kebuntuan, COM+ mengelola akses ke semua objek di seluruh aktivitas oleh serangkaian panggilan berlapis yang ditautkan di seluruh jaringan.

COM+ menyediakan pengaturan sinkronisasi berikut:

  • Dinonaktifkan
  • Tidak Didukung
  • Didukung
  • Diperlukan
  • Memerlukan Baru

Nota

Beberapa pengaturan sinkronisasi berfungsi bersama dengan pengaturan komponen COM+ lainnya. Misalnya, sinkronisasi diperlukan jika layanan aktivasi COM+ just-in-time (JIT) diaktifkan. JIT diperlukan jika Anda mengaktifkan transaksi; oleh karena itu, pemrosesan transaksi COM+ memerlukan sinkronisasi juga. Jadi, kelas dengan pengaturan JIT=True juga harus memiliki pengaturan Synchronization=Required atau Synchronization=RequiresNew.

 

Untuk instruksi tentang mengatur opsi sinkronisasi dengan menggunakan alat administratif Layanan Komponen, lihat Mengatur Atribut Sinkronisasi.

Untuk mendapatkan informasi selengkapnya tentang menggunakan PUSTAKA Administrasi COM+ untuk mengatur opsi sinkronisasi, lihat Mengotomatiskan Administrasi COM+.

Tugas Sinkronisasi COM+