Configuration des services COM+ avec CServiceConfig

La classe CServiceConfig est utilisée pour configurer les services com+ qui peuvent être utilisés sans composants. Il agrège le marshaleur libre de threads, afin qu’il puisse être utilisé dans différents cloisonnements. Pour configurer un service individuel, vous devez appeler QueryInterface pour l’interface associée au service, puis appeler des méthodes sur cette interface pour établir la configuration appropriée. Le tableau suivant décrit les interfaces qui sont implémentées par le biais de la classe CServiceConfig .

Interface Description
IServiceInheritanceConfig
Interface par défaut de la classe. Elle est utilisée pour initialiser rapidement un grand nombre des services COM+.
IServiceComTIIntrinsicsConfig
Utilisé pour configurer les informations intrinsèques de l’COM Transaction Integrator (COMTI). COMTI permet aux développeurs d’intégrer des programmes de transaction basés sur des macroordinateurs à des applications basées sur des composants.
IServiceIISIntrinsicsConfig
utilisé pour configurer les informations intrinsèques du Internet Information Services (IIS).
IServicePartitionConfig
Utilisé pour configurer le mode d’utilisation des partitions COM+ avec les services.
IServiceSxSConfig
Utilisé pour configurer des assemblys côte à côte.
IServiceSynchronizationConfig
Utilisé pour configurer les services de synchronisation COM+.
IServiceThreadPoolConfig
Utilisé pour configurer le pool de threads pour le service COM+. Le pool de threads ne peut être configuré que lors de l’utilisation de la fonction CoCreateActivity .
IServiceTrackerConfig
Utilisé pour configurer la propriété tracker. Tracker est un mécanisme de création de rapports utilisé par le code de surveillance pour surveiller le code en cours d’exécution.
IServiceTransactionConfig
Utilisé pour configurer le service de transactions COM+.

Outil d’administration Services de composants

Non applicable.

Visual Basic

Non applicable.

C/C++

Le fragment de code suivant illustre la création et la configuration d’un objet CServiceConfig pour utiliser des transactions 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

Utilisation des services COM+ via CoCreateActivity

Utilisation des services COM+ via CoEnterServiceDomain et CoLeaveServiceDomain