Freigeben über


Konfigurieren von COM+-Diensten mit CServiceConfig

Die CServiceConfig-Klasse wird verwendet, um die COM+-Dienste zu konfigurieren, die ohne Komponenten verwendet werden können. Es aggregiert den Freethread-Marshaller, sodass er in verschiedenen Wohnungen verwendet werden kann. Zum Konfigurieren eines einzelnen Diensts müssen Sie QueryInterface für die dem Dienst zugeordnete Schnittstelle aufrufen und dann Methoden für diese Schnittstelle aufrufen, um die entsprechende Konfiguration einzurichten. In der folgenden Tabelle werden die Schnittstellen beschrieben, die über die CServiceConfig-Klasse implementiert werden.

Schnittstelle BESCHREIBUNG
IServiceInheritanceConfig
Die Standardschnittstelle für die -Klasse. Es wird verwendet, um viele der COM+-Dienste schnell zu initialisieren.
IServiceComTIIntrinsicsConfig
Wird verwendet, um die systeminternen COMTI-Informationen (COM Transaction Integrator) zu konfigurieren. COMTI ermöglicht Entwicklern die Integration mainframebasierter Transaktionsprogramme in komponentenbasierte Anwendungen.
IServiceIISIntrinsicsConfig
Wird verwendet, um die intrinsischen Iis-Informationen (InternetInformationsdienste) zu konfigurieren.
IServicePartitionConfig
Wird verwendet, um zu konfigurieren, wie COM+-Partitionen mit den Diensten verwendet werden.
IServiceSxSConfig
Wird verwendet, um parallele Assemblys zu konfigurieren.
IServiceSynchronizationConfig
Wird zum Konfigurieren von COM+-Synchronisierungsdiensten verwendet.
IServiceThreadPoolConfig
Wird verwendet, um den Threadpool für den COM+-Dienst zu konfigurieren. Der Threadpool kann nur konfiguriert werden, wenn die CoCreateActivity-Funktion verwendet wird.
IServiceTrackerConfig
Wird zum Konfigurieren der Tracker-Eigenschaft verwendet. Tracker ist ein Berichterstellungsmechanismus, der von der Überwachung von Code verwendet wird, um zu watch, welcher Code wann ausgeführt wird.
IServiceTransactionConfig
Wird zum Konfigurieren des COM+-Transaktionsdiensts verwendet.

Verwaltungstool für Komponentendienste

Nicht anwendbar.

Visual Basic

Nicht anwendbar.

C/C++

Das folgende Codefragment veranschaulicht, wie Sie ein CServiceConfig-Objekt erstellen und konfigurieren, um COM+-Transaktionen zu verwenden.

// 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

Verwenden von COM+-Diensten über CoCreateActivity

Verwenden von COM+-Diensten über CoEnterServiceDomain und CoLeaveServiceDomain