Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan komponen antrean COM+ tidak mengaktifkan antrean untuk setiap komponen COM yang ada. Ada batasan pada jenis metode yang dapat diantrekan. Karena kendala olahpesan, metode harus mematuhi aturan berikut:
- Mereka harus berisi parameter input saja.
- Mereka tidak boleh mengembalikan hasil khusus aplikasi.
Selain itu, ada batasan pada jenis parameter input yang dapat diteruskan ke komponen antrean. Pada run time, layanan komponen yang diantrekan mengemas argumen di klien dan meneruskannya ke komponen server dengan menggunakan Message Queuing. Jenis sederhana, seperti bilangan bulat dan Boolean, dapat di-marshal dengan mudah—jenis yang lebih kompleks tidak dapat di-marshal tanpa bantuan.
Dalam kasus meneruskan objek melalui panggilan metode komponen yang diantrekan sebagai parameter, klien meneruskan objek ke perekam. Perekam mengubah objek menjadi pesan Message Queuing dan meneruskannya ke pendengar. Setelah pendengar mengambil pesan dan meneruskannya ke pemutar, pemutar harus menginstansiasi ulang objek untuk mengirimkannya ke panggilan metode yang ditentukan oleh klien. Berdasarkan masa pakai klien dan server dalam lingkungan yang diantrekan, implikasinya adalah bahwa objek-objek ini harus dapat di-marshal berdasarkan nilai. Karena COM+ tidak menyediakan semantik pass-by-value untuk objek COM standar, perekam dan pemutar memerlukan bantuan dari komponen untuk memformat dan mengurai objek tersebut.
Referensi objek yang mendukung IPersistStream dapat digunakan sebagai parameter untuk panggilan metode pada komponen yang diantrekan. Objek tidak dapat membuat asumsi tentang kapan objek akan diinstansiasi ulang. Misalnya, server mungkin tidak tersedia atau komponen server mungkin baru akan dimulai nanti pada hari itu. Objek yang tidak mendukung IPersistStream akan mengembalikan kesalahan.
Objek Persistable Visual Basic
Microsoft Visual Basic 6 memungkinkan objek yang dapat dipertahankan untuk dibuat. Objek-objek ini mendukung IPersistStream dan dapat diteruskan sebagai parameter untuk panggilan metode komponen yang diantrekan. Sebelum objek Visual Basic dapat diteruskan ke komponen antrean, objek yang dapat dipertahankan harus diinisialisasi. Ini dapat dilakukan dengan salah satu dari dua cara berikut:
- Jika aplikasi yang membuat objek persistable ditulis di Visual Basic, runtime Visual Basic menangani inisialisasi objek secara otomatis.
- Jika aplikasi yang membuat objek Visual Basic yang dapat dipertahankan ditulis dalam bahasa selain Visual Basic, seperti Microsoft Visual C++, aplikasi harus secara eksplisit menginisialisasi komponen dengan mengajukan kueri untuk antarmuka IPersistStream objek yang dapat dipertahankan atau memanggil metode IPersistStreamInit::InitNew, atau metode IPersistStream::Load.
ADO Recordsets dan OLE DB Rowsets
Meneruskan ADO Recordset atau objek rowset OLE DB di antara komponen-komponen memungkinkan satu komponen memproses hasil kueri yang dijalankan oleh komponen lain. Ini berguna saat menyebarkan aplikasi di beberapa komputer. Recordset dan objek rowset dapat diteruskan sebagai parameter metode ke komponen antrean, dengan batasan berikut:
- Objek Recordset sisi server tidak dapat dirusak menggunakan IPersistStream. Hanya objek sisi klien Recordset yang dapat diteruskan sebagai parameter ke metode panggilan komponen tertunda.
- Jika Anda bekerja langsung dengan OLE DB, kumpulan baris OLE DB harus didefinisikan sebagai set baris sisi klien.