Compartir a través de


Configuración de servicios COM+ con CServiceConfig

La clase CServiceConfig se usa para configurar los servicios COM+ que se pueden usar sin componentes. Agrega el serializador de subproceso libre, por lo que se puede usar en diferentes apartamentos. Para configurar un servicio individual, debe llamar a QueryInterface para la interfaz asociada al servicio y, a continuación, llamar a métodos en esa interfaz para establecer la configuración adecuada. En la tabla siguiente se describen las interfaces que se implementan a través de la clase CServiceConfig .

Interfaz Descripción
IServiceInheritanceConfig
Interfaz predeterminada de la clase . Se usa para inicializar rápidamente muchos de los servicios COM+.
IServiceComTIIntrinsicsConfig
Se usa para configurar la información intrínseca del Integrador de transacciones COM (COMTI). COMTI permite a los desarrolladores integrar programas de transacciones basados en sistemas centrales con aplicaciones basadas en componentes.
IServiceIISIntrinsicsConfig
Se usa para configurar la información intrínseca de Internet Information Services (IIS).
IServicePartitionConfig
Se usa para configurar cómo se usan las particiones COM+ con los servicios.
IServiceSxSConfig
Se usa para configurar ensamblados en paralelo.
IServiceSynchronizationConfig
Se usa para configurar los servicios de sincronización com+.
IServiceThreadPoolConfig
Se usa para configurar el grupo de subprocesos para el servicio COM+. El grupo de subprocesos solo se puede configurar cuando se usa la función CoCreateActivity .
IServiceTrackerConfig
Se usa para configurar la propiedad Tracker. El rastreador es un mecanismo de informes que usa la supervisión del código para watch qué código se ejecuta cuando.
IServiceTransactionConfig
Se usa para configurar el servicio de transacciones COM+.

Herramienta administrativa servicios de componentes

No corresponde.

Visual Basic

No corresponde.

C/C++

En el fragmento de código siguiente se muestra cómo crear y configurar un objeto CServiceConfig para usar transacciones COM+.

// Create a CServiceConfig object.
HRESULT hr = CoCreateInstance(CLSID_CServiceConfig, NULL, CLSCTX_INPROC_SERVER, 
  IID_IUnknown, (void**)&pUnknownCSC);
if (FAILED(hr)) throw(hr);

// Query for the IServiceInheritanceConfig interface.
hr = pUnknownCSC->QueryInterface(IID_IServiceInheritanceConfig, 
  (void**)&pInheritanceConfig);
if (FAILED(hr)) throw(hr);

// Inherit the current context before using transactions.
hr = pInheritanceConfig->ContainingContextTreatment(CSC_Inherit);
if (FAILED(hr)) throw(hr);

// Query for the IServiceTransactionConfig interface.
hr = pUnknownCSC->QueryInterface(IID_IServiceTransactionConfig, 
  (void**)&pTransactionConfig);
if (FAILED(hr)) throw(hr);

// Configure transactions to always create a new one.
hr = pTransactionConfig->ConfigureTransaction(CSC_NewTransaction);
if (FAILED(hr)) throw(hr);

// Set the isolation level of the transactions to ReadCommitted.
hr = pTransactionConfig->IsolationLevel( 
  COMAdminTxIsolationLevelReadCommitted);
if (FAILED(hr)) throw(hr);

// Set the transaction time-out to 1 minute.
hr = pTransactionConfig->TransactionTimeout(60);
if (FAILED(hr)) throw(hr);

CServiceConfig

Uso de servicios COM+ a través de CoCreateActivity

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