Compartir a través de


Uso de servicios COM+ a través de CoEnterServiceDomain y CoLeaveServiceDomain

CoEnterServiceDomain y CoLeaveServiceDomain se usan conjuntamente para rodear un área de código que se ejecuta en su propio contexto y puede usar servicios COM+ sin necesidad de componentes COM+. Los servicios COM+ que se usan en este contexto se configuran a través del objeto CServiceConfig que se pasa a CoEnterServiceDomain. El código que está rodeado por CoEnterServiceDomain y CoLeaveServiceDomain se comporta como si fuera un método al que se llama en un objeto creado en este contexto.

Una aplicación de scripting puede usar este par de funciones para proporcionar compatibilidad en tiempo de ejecución de servicios COM+ sin componentes. Por ejemplo, se puede desarrollar una aplicación de scripting para proporcionar etiquetas que permitan que los escritores de scripts entren y salgan de un dominio de servicio dentro del script. Cuando el motor de scripting procesa el script y encuentra las etiquetas, puede llamar a CoEnterServiceDomain con un objeto CServiceConfig preconfigurado, ejecutar el código necesario y, a continuación, llamar a CoLeaveServiceDomain.

Herramienta administrativa servicios de componentes

No corresponde.

Visual Basic

No corresponde.

C/C++

En el fragmento de código siguiente se muestra cómo usar servicios COM+ entre llamadas a CoEnterServiceDomain y CoLeaveServiceDomain. Con el fin de ser breves se omite el control de errores. Este fragmento de código usa el objeto CServiceConfig que se creó y configuró en Configuring COM+ Services with CServiceConfig (Configurar servicios COM+ con CServiceConfig).

// A CServiceConfig object was created as follows:
// hr = CoCreateInstance(CLSID_CServiceConfig, NULL, CLSCTX_INPROC_SERVER, 
//   IID_IUnknown, (void**)&pUnknownCSC);

// Enter the Service Domain.
HRESULT hr = CoEnterServiceDomain(pUnknownCSC);
if (FAILED(hr)) throw(hr);

// Do the work that uses COM+ services here.
//DoMyWork();

// Leave the Service Domain.
CoLeaveServiceDomain(NULL);

CoEnterServiceDomain

CoLeaveServiceDomain

Configuración de servicios COM+ con CServiceConfig

CServiceConfig

Uso de servicios COM+ a través de CoCreateActivity