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);