Share via


Conceptos de servicios COM+ sin componentes

COM+ 1.5 presenta la capacidad de usar servicios COM+ sin componentes. Esto reduce significativamente los costos de rendimiento al usar servicios COM+ de un entorno que no usa componentes y también elimina la complejidad del uso de estos servicios. A partir de IIS 6.0, IIS y ASP aprovechan el uso de servicios COM+ sin componentes.

Los servicios COM+ se diseñaron originalmente para su uso con componentes COM+. Sin embargo, algunos entornos de programación no están basados en componentes y, por lo tanto, requieren una sobrecarga sustancial para usar servicios COM+. Por ejemplo, antes de la publicación de COM+ 1.5, IIS tenía que crear objetos shim únicamente para poder usar servicios de transacción COM+ en páginas ASP. Los costos de rendimiento que proceden de la creación de esos objetos incluyen almacenar los datos de configuración en la metabase de IIS y en la base de datos de registro COM+ (RegDB), así como la comunicación adicional entre la metabase de IIS y la regDB COM+ necesaria para administrar eficazmente los datos de configuración.

Si IIS necesitaba usar un segundo servicio COM+, como la sincronización, tenía que crear un objeto de correcciones de compatibilidad completamente diferente para hacerlo. Para usar transacciones COM+ y sincronización, se necesitaría un tercer tipo de objeto shim. La complejidad de este enfoque se escala como O(n2), lo que dificulta la implementación de nuevos servicios.

Con la introducción de servicios COM+ sin componentes, los servicios necesarios se configuran a través de un objeto al que se crea una instancia de la clase . La clase CServiceConfig implementa las interfaces necesarias para configurar los distintos servicios, a la vez que proporciona flexibilidad para admitir varios servicios al mismo tiempo y la capacidad de admitir nuevos servicios en el futuro.

Los servicios configurados se pueden usar a través de dos mecanismos diferentes: se pueden usar a través de la función CoCreateActivity , que aplica los servicios a todos los trabajos enviados a través de la actividad creada por la función, y también se pueden usar mediante la inserción del trabajo que usa los servicios entre las llamadas a las funciones CoEnterServiceDomain y CoLeaveServiceDomain . Ninguna de estas funciones requiere la creación de nuevos componentes para poder usar los servicios COM+; solo se necesita el objeto CServiceConfig .

Servicios COM+ sin tareas de componentes