Condividi tramite


Configurazione di servizi COM+ con CServiceConfig

La classe CServiceConfig viene usata per configurare i servizi COM+ che possono essere usati senza componenti. Aggrega il gestore di marshalling a thread libero, in modo che possa essere utilizzato in appartamenti diversi. Per configurare un singolo servizio, è necessario chiamare QueryInterface per l'interfaccia associata al servizio e quindi chiamare i metodi su tale interfaccia per stabilire la configurazione appropriata. Nella tabella seguente vengono descritte le interfacce implementate tramite la classe CServiceConfig .

Interfaccia Descrizione
IServiceInheritanceConfig
Interfaccia predefinita per la classe . Viene usato per inizializzare rapidamente molti dei servizi COM+.
IServiceComTIIntrinsicsConfig
Utilizzato per configurare le informazioni intrinseche COMTI (COMTI). COMTI consente agli sviluppatori di integrare programmi di transazione basati su mainframe con applicazioni basate su componenti.
IServiceIISIntrinsicsConfig
Utilizzato per configurare le informazioni intrinseche di Internet Information Services (IIS).
IServicePartitionConfig
Usato per configurare la modalità di utilizzo delle partizioni COM+ con i servizi.
IServiceSxSConfig
Consente di configurare assembly side-by-side.
IServiceSynchronizationConfig
Usato per configurare i servizi di sincronizzazione COM+.
IServiceThreadPoolConfig
Usato per configurare il pool di thread per il servizio COM+. Il pool di thread può essere configurato solo quando si usa la funzione CoCreateActivity.
IServiceTrackerConfig
Utilizzato per configurare la proprietà Tracker. Tracker è un meccanismo di creazione di report usato dal codice di monitoraggio per controllare il codice in esecuzione quando.
IServiceTransactionConfig
Utilizzato per configurare il servizio transazioni COM+.

Strumento di Amministrazione istrative di Servizi componenti

Non è valida.

Visual Basic

Non è valida.

C/C++

Il frammento di codice seguente illustra come creare e configurare un oggetto CServiceConfig per l'uso di transazioni 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 di servizi COM+ tramite CoCreateActivity

Uso di servizi COM+ tramite CoEnterServiceDomain e CoLeaveServiceDomain