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