Partager via


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 marshaler à thread libre, de sorte qu’il peut être utilisé dans différents appartements. 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 implémentées par le biais de la classe CServiceConfig .

Interface Description
IServiceInheritanceConfig
Interface par défaut de la classe . Il est utilisé pour initialiser rapidement la plupart des services COM+.
IServiceComTIIntrinsicsConfig
Permet de configurer les informations intrinsèques COMTI (COMTI). COMTI permet aux développeurs d’intégrer des programmes transactionnels basés sur des ordinateurs mainframe avec des applications basées sur des composants.
IServiceIISIntrinsicsConfig
Permet de configurer les informations intrinsèques des services Internet (IIS).
IServicePartitionConfig
Permet de configurer la façon dont les partitions COM+ sont utilisées avec les services.
IServiceSxSConfig
Permet de configurer des assemblys côte à côte.
IServiceSynchronizationConfig
Utilisé pour configurer les services de synchronisation COM+.
IServiceThreadPoolConfig
Permet de configurer le pool de threads pour le service COM+. Le pool de threads peut être configuré uniquement lors de l’utilisation de la fonction CoCreateActivity .
IServiceTrackerConfig
Permet de configurer la propriété Tracker. Le suivi est un mécanisme de création de rapports utilisé par le code de surveillance pour watch quel code est en cours d’exécution.
IServiceTransactionConfig
Permet de configurer le service transactionnel COM+.

Outil d’administration des services de composants

Non applicable.

Visual Basic

Non applicable.

C/C++

Le fragment de code suivant montre comment créer et configurer 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