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