다음을 통해 공유


CServiceConfig를 사용하여 COM+ 서비스 구성

CServiceConfig 클래스는 구성 요소 없이 사용할 수 있는 COM+ 서비스를 구성하는 데 사용됩니다. 다른 아파트에서 사용할 수 있도록 자유 스레드 마샬러를 집계합니다. 개별 서비스를 구성하려면 서비스와 연결된 인터페이스에 대해 QueryInterface 를 호출한 다음 해당 인터페이스에서 메서드를 호출하여 적절한 구성을 설정해야 합니다. 다음 표에서는 CServiceConfig 클래스를 통해 구현되는 인터페이스에 대해 설명합니다.

인터페이스 Description
IServiceInheritanceConfig
클래스의 기본 인터페이스입니다. 많은 COM+ 서비스를 신속하게 초기화하는 데 사용됩니다.
IServiceComTIIntrinsicsConfig
COMTI(COM Transaction Integrator) 내장 함수 정보를 구성하는 데 사용됩니다. COMTI를 사용하면 개발자가 메인프레임 기반 트랜잭션 프로그램을 구성 요소 기반 애플리케이션과 통합할 수 있습니다.
IServiceIISIntrinsicsConfig
IIS(인터넷 정보 서비스) 내장 정보를 구성하는 데 사용됩니다.
IServicePartitionConfig
서비스와 함께 COM+ 파티션을 사용하는 방법을 구성하는 데 사용됩니다.
IServiceSxSConfig
병렬 어셈블리를 구성하는 데 사용됩니다.
IServiceSynchronizationConfig
COM+ 동기화 서비스를 구성하는 데 사용됩니다.
IServiceThreadPoolConfig
COM+ 서비스에 대한 스레드 풀을 구성하는 데 사용됩니다. 스레드 풀은 CoCreateActivity 함수를 사용하는 경우에만 구성할 수 있습니다.
IServiceTrackerConfig
Tracker 속성을 구성하는 데 사용됩니다. 추적기는 코드를 모니터링하여 실행 중인 코드를 watch 데 사용하는 보고 메커니즘입니다.
IServiceTransactionConfig
COM+ 트랜잭션 서비스를 구성하는 데 사용됩니다.

구성 요소 서비스 관리 도구

적용 되지 않습니다.

Visual Basic

적용 되지 않습니다.

C/C++

다음 코드 조각에서는 COM+ 트랜잭션을 사용하도록 CServiceConfig 개체를 만들고 구성하는 방법을 보여 줍니다.

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

CoCreateActivity를 통해 COM+ 서비스 사용

CoEnterServiceDomain 및 CoLeaveServiceDomain을 통해 COM+ 서비스 사용