Bagikan melalui


Layanan COM+ Tanpa Konsep Komponen

COM+ 1.5 memperkenalkan kemampuan untuk menggunakan layanan COM+ tanpa komponen. Ini secara signifikan mengurangi biaya performa saat menggunakan layanan COM+ dari lingkungan yang tidak menggunakan komponen, dan juga menghilangkan kompleksitas penggunaan layanan ini. Dimulai dengan IIS 6.0, IIS dan ASP memanfaatkan penggunaan layanan COM+ tanpa komponen.

Layanan COM+ awalnya dirancang untuk digunakan dengan komponen COM+. Namun, beberapa lingkungan pemrograman tidak berbasis komponen dan oleh karena itu memerlukan overhead besar untuk menggunakan layanan COM+. Misalnya, sebelum rilis COM+ 1.5, IIS harus membuat objek shim hanya untuk dapat menggunakan layanan transaksi COM+ di halaman ASP. Biaya performa yang berasal dari pembuatan objek tersebut termasuk menyimpan data konfigurasi di metabase IIS dan database pendaftaran COM+ (RegDB) serta komunikasi ekstra antara metabase IIS dan COM+ RegDB yang diperlukan untuk mengelola data konfigurasi secara efektif.

Jika IIS perlu menggunakan layanan COM+ kedua, seperti sinkronisasi, IIS harus membuat objek shim yang sama sekali berbeda untuk melakukannya. Untuk menggunakan transaksi COM+ dan sinkronisasi, jenis objek shim ketiga akan diperlukan. Kompleksitas pendekatan ini menskalakan sebagai O(n2), membuat implementasi layanan baru sangat sulit.

Dengan pengenalan layanan COM+ tanpa komponen, layanan yang diperlukan dikonfigurasi melalui objek yang dibuat dari kelas . Kelas CServiceConfig mengimplementasikan antarmuka yang diperlukan untuk mengonfigurasi berbagai layanan sekaligus memberikan fleksibilitas untuk mendukung beberapa layanan secara bersamaan dan kemampuan untuk mendukung layanan baru di masa mendatang.

Layanan yang dikonfigurasi kemudian dapat digunakan melalui dua mekanisme berbeda: Layanan tersebut dapat digunakan melalui fungsi CoCreateActivity, yang menerapkan layanan ke semua pekerjaan yang dikirimkan melalui aktivitas yang dibuat oleh fungsi, dan juga dapat digunakan dengan menyematkan pekerjaan yang menggunakan layanan antara panggilan ke fungsi CoEnterServiceDomain dan CoLeaveServiceDomain. Tidak satu pun dari fungsi-fungsi ini memerlukan pembuatan komponen baru apa pun untuk dapat menggunakan layanan COM+; hanya objek CServiceConfig yang diperlukan.

Layanan COM+ Tanpa Tugas Komponen