Udostępnij przez


Pojęcia dotyczące usług COM+ bez komponentów

Com+ 1.5 wprowadza możliwość korzystania z usług COM+ bez składników. Znacznie zmniejsza to koszty wydajności w przypadku korzystania z usług COM+ ze środowiska, które nie korzysta ze składników, a także eliminuje złożoność korzystania z tych usług. Począwszy od wersji IIS 6.0, usługi IIS i ASP wykorzystują usługi COM+ bez składników.

Usługi COM+ zostały pierwotnie zaprojektowane do użycia ze składnikami COM+. Jednak niektóre środowiska programistyczne nie są oparte na składnikach i dlatego wymagają znacznego obciążenia związanego z korzystaniem z usług COM+. Na przykład przed wydaniem wersji COM+ 1.5 usługi IIS musiały tworzyć elementy pomocnicze wyłącznie w celu korzystania z usług transakcyjnych COM+ na stronach ASP. Koszty wydajności wynikające z tworzenia tych obiektów obejmują przechowywanie danych konfiguracji zarówno w metabazie usług IIS, jak i bazie danych rejestracji MODELU COM+ (RegDB), a także dodatkową komunikację między metabazą usług IIS a bazą danych REGDB COM+, która jest potrzebna do efektywnego zarządzania danymi konfiguracji.

Jeśli usługa IIS musiała używać drugiej usługi COM+, takiej jak synchronizacja, musiała utworzyć zupełnie inny obiekt pośredniczący, aby to zrobić. Aby użyć zarówno transakcji COM+ jak i synchronizacji, potrzebny jest trzeci typ obiektu podkładki. Złożoność tego podejścia jest skalowana jako O(n2), co sprawia, że implementacja nowych usług jest niezwykle trudna.

Wraz z wprowadzeniem usług COM+ bez składników potrzebne usługi są konfigurowane za pośrednictwem obiektu utworzonego z klasy. Klasa CServiceConfig implementuje interfejsy potrzebne do skonfigurowania różnych usług, zapewniając jednocześnie elastyczność obsługi wielu usług oraz możliwość obsługi nowych usług w przyszłości.

Skonfigurowane usługi można następnie używać za pomocą dwóch różnych mechanizmów: mogą być używane za pośrednictwem funkcji CoCreateActivity, która stosuje usługi do wszystkich prac przesłanych za pośrednictwem działania utworzonego przez funkcję, a także mogą być używane przez osadzanie pracy, która korzysta z usług między wywołaniami CoEnterServiceDomain i CoLeaveServiceDomain. Żadna z tych funkcji nie wymaga utworzenia nowych składników, aby móc korzystać z usług COM+; wymagany jest tylko obiekt CServiceConfig.

Zadania usług COM+ bez składników