Aracılığıyla paylaş


Bileşensiz COM+ Hizmetleri Konseptleri

COM+ 1.5, COM+ hizmetlerini bileşenler olmadan kullanma olanağı sunar. Bu, bileşenleri kullanmayan bir ortamdan COM+ hizmetlerini kullanırken performans maliyetlerini önemli ölçüde azaltır ve ayrıca bu hizmetleri kullanmanın karmaşıklığını ortadan kaldırır. IIS 6.0'den başlayarak, IIS ve ASP bileşenleri olmayan COM+ hizmetlerinin kullanılmasından yararlanıyor.

COM+ hizmetleri başlangıçta COM+ bileşenleriyle kullanılacak şekilde tasarlanmıştır. Ancak, bazı programlama ortamları bileşen tabanlı değildir ve bu nedenle COM+ hizmetlerini kullanmak için önemli ek yük gerektirir. Örneğin, COM+ 1.5'in yayımlanmasından önce, IIS'nin YALNıZCA ASP sayfalarında COM+ işlem hizmetlerini kullanabilmek için dolgu nesneleri oluşturması gerekiyordu. Bu nesnelerin oluşturulmasından kaynaklanan performans maliyetleri, yapılandırma verilerini hem IIS metatabanı hem de COM+ kayıt veritabanında (RegDB) depolamanın yanı sıra, yapılandırma verilerini etkili bir şekilde yönetmek için gereken IIS metatabanı ile COM+ RegDB arasındaki ek iletişimi içerir.

IIS'nin eşitleme gibi ikinci bir COM+ hizmeti kullanması gerekiyorsa, bunu yapmak için tamamen farklı bir dolgu nesnesi oluşturması gerekiyordu. Hem COM+ işlemlerini hem de eşitlemeyi kullanmak için üçüncü bir dolgu nesnesi türü gerekecektir. Bu yaklaşımın karmaşıklığı O(n2) olarak ölçeklendirilerek yeni hizmetlerin uygulanmasını son derece zorlaştırır.

Bileşenleri olmayan COM+ hizmetlerinin kullanıma sunulmasıyla birlikte, gereken hizmetler sınıfından örneği oluşturulmuş bir nesne aracılığıyla yapılandırılır. CServiceConfig sınıfı, farklı hizmetleri yapılandırmak için gereken arabirimleri uygularken, aynı anda birden çok hizmeti destekleme esnekliği ve gelecekte yeni hizmetleri destekleme olanağı sağlar.

Yapılandırılan hizmetler daha sonra iki farklı mekanizma aracılığıyla kullanılabilir: Bunlar, hizmetleri işlev tarafından oluşturulan etkinlik aracılığıyla gönderilen tüm çalışmalara uygulayan coCreateActivityişlevi aracılığıyla kullanılabilir ve CoEnterServiceDomain ve CoLeaveServiceDomain işlevlerine yapılan çağrılar arasında hizmetleri kullanan çalışma eklenerek de kullanılabilir. Bu işlevlerin hiçbiri COM+ hizmetlerini kullanabilmek için yeni bileşenlerin oluşturulmasını gerektirmez; yalnızca CServiceConfig nesnesi gereklidir.

Bileşensiz COM+ Hizmetleri Görevleri