Udostępnij przez


Konfigurowanie usług COM+ za pomocą narzędzia CServiceConfig

Klasa CServiceConfig służy do konfigurowania usług COM+, które mogą być używane bez składników. Agreguje marshaler wielowątkowy, więc może być używany w różnych apartamentach. Aby skonfigurować pojedynczą usługę, należy wywołać QueryInterface dla interfejsu skojarzonego z usługą, a następnie wywołać metody w tym interfejsie, aby ustanowić odpowiednią konfigurację. W poniższej tabeli opisano interfejsy implementowane za pośrednictwem klasy CServiceConfig.

Interfejs Opis
IServiceInheritanceConfig
Domyślny interfejs dla klasy. Służy do szybkiego inicjowania wielu usług COM+.
IServiceComTIIntrinsicsConfig
Służy do konfigurowania informacji wewnętrznych integratora transakcji COMTI (COMTI). ComTI umożliwia deweloperom integrowanie programów transakcji opartych na komputerach mainframe z aplikacjami opartymi na składnikach.
IServiceIISIntrinsicsConfig
Służy do konfigurowania informacji wewnętrznych usług Internet Information Services (IIS).
IServicePartitionConfig
Służy do konfigurowania sposobu użycia partycji COM+ z usługami.
IServiceSxSConfig
Służy do konfigurowania zestawów równoległych.
IServiceSynchronizationConfig
Służy do konfigurowania usług synchronizacji COM+.
IServiceThreadPoolConfig
Służy do konfigurowania puli wątków dla usługi COM+. Pulę wątków można skonfigurować tylko w przypadku korzystania z funkcji CoCreateActivity.
IServiceTrackerConfig
Służy do konfigurowania właściwości śledzenia. Tracker to mechanizm raportowania używany przez kod monitorujący do śledzenia, który kod i kiedy jest uruchamiany.
IServiceTransactionConfig
Służy do konfigurowania usługi transakcji COM+.

Narzędzie administracyjne usług składników

Nie ma zastosowania.

Visual Basic

Nie ma zastosowania.

C/C++

Poniższy fragment kodu ilustruje sposób tworzenia i konfigurowania obiektu CServiceConfig do używania transakcji 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

Korzystanie z usług COM+ za pośrednictwem CoCreateActivity

Używanie usług COM+ za pośrednictwem CoEnterServiceDomain i CoLeaveServiceDomain