Langganan
Data langganan berada di katalog COM+ langganan. Langganan dapat dibuat baik dengan menggunakan alat administratif Layanan Komponen atau secara terprogram dengan menggunakan antarmuka ICOMAdminCatalog::InstallComponent.
Koleksi SubscriptionsForComponent digunakan untuk menambahkan, menghapus, atau mengubah informasi yang berkaitan dengan langganan. Koleksi SubscriptionsForComponent adalah koleksi anak ke komponen. Untuk menambahkan langganan, dapatkan koleksi SubscriptionsForComponent komponen dan gunakan metode Tambahkan untuk menambahkan entri ke koleksi. Untuk menyiapkan berbagai properti objek langganan, gunakan properti Nilai. Untuk menyimpan perubahan, gunakan SaveChanges pada objek koleksi SubscriptionsForComponent.
Anda juga dapat menggunakan alat administrasi Layanan Komponen untuk memodifikasi beberapa, tetapi tidak semua, dari properti langganan. Langganan menentukan informasi berikut:
- Identitas dan lokasi pelanggan
- Metode pengiriman
- Metode peristiwa untuk dikirimkan
- Objek kelas peristiwa dan properti PublisherID dari komponen kelas peristiwa tempat pelanggan ingin menerima peristiwa
Langganan ada secara independen dari objek kelas peristiwa. Anda dapat menonaktifkan langganan dengan mengatur properti Diaktifkan ke False. Langganan yang dinonaktifkan tidak dipanggil oleh COM+ Events.
Ketiga jenis langganan tersebut adalah sebagai berikut:
-
Gigih
-
Langganan persisten berada di katalog COM+ dan independen dari masa pakai pelanggan. Langganan persisten bertahan dari mulai ulang sistem. Umumnya, langganan persisten dibuat saat aplikasi diinstal pada komputer pelanggan dan dihapus saat aplikasi dihapus. Setelah langganan persisten dibuat, PERISTIWA COM+ mengaktifkan pelanggan setiap kali peristiwa harus dikirimkan ke langganan tersebut.
Saat penerbit membuat instans dan melakukan panggilan pada objek kelas peristiwa, objek mencari semua langganan persisten di katalog COM+ dan membuat instans baru dari setiap objek. Proses pembuatan dapat langsung atau melalui moniker untuk komponen antrean. Tentukan objek pelanggan oleh properti SubscriberMoniker langganan. Objek pelanggan yang dibuat oleh langganan persisten selalu dirilis setelah setiap panggilan peristiwa.
-
Sementara
-
Untuk langganan sementara, Anda dapat menggunakan koleksi TransientSubscriptions , yang objek induknya adalah objek katalog akar. Langganan sementara meminta peristiwa untuk objek pelanggan tertentu yang sudah ada. Langganan sementara disimpan dalam katalog COM+, tetapi langganan dihapus jika sistem peristiwa atau sistem operasi dihentikan. Tidak seperti langganan persisten, langganan sementara terkait dengan objek tertentu dan hanya disimpan dalam sistem peristiwa. Langganan sementara bisa lebih efisien daripada langganan persisten, tetapi Anda harus mengelola siklus hidup objeknya. Untuk informasi tentang mendaftarkan langganan sementara, lihat Mendaftarkan Langganan Sementara.
-
Per pengguna
-
Langganan Per Pengguna hanya dapat mengirimkan peristiwa saat pelanggan masuk ke komputer sistem peristiwa. Saat pelanggan masuk, sistem peristiwa mengaktifkan semua langganan tempat bendera PerUser diatur ke TRUE dan UserName diatur ke nama pengguna yang masuk. Saat pelanggan keluar, langganan dinonaktifkan.
Langganan Per Pengguna hanya efektif ketika penerbit dan pelanggan berada di komputer yang sama. Masuk dan keluar hanya terdeteksi di komputer penerbit—bukan komputer tempat objek pelanggan berada.
Sistem peristiwa menggunakan meta-events untuk memberi tahu pelanggan yang tertarik setiap kali objek atau langganan kelas peristiwa dibuat, dimodifikasi, atau dihapus. Untuk menerima meta-events dari sistem peristiwa, aplikasi harus membuat langganan yang berada di komputer sistem peristiwa dan yang menentukan ID antarmuka penembakan (IID_IEventObjectChange).
Topik terkait