次の方法で共有


CServiceConfig を使用した COM+ サービスの構成

CServiceConfig クラスは、コンポーネントなしで使用できる COM+ サービスを構成するために使用されます。 フリースレッド マーシャラーを集計するため、別のアパートメントで使用できます。 個々のサービスを構成するには、サービスに関連付けられているインターフェイスに対して QueryInterface を呼び出し、そのインターフェイスでメソッドを呼び出して適切な構成を確立する必要があります。 次の表では、CServiceConfig クラスを使用して実装されるインターフェイスについて説明します。

Interface 説明
IServiceInheritanceConfig
クラスの既定のインターフェイス。 これは、多くの COM+ サービスをすばやく初期化するために使用されます。
IServiceComTIIntrinsicsConfig
COM トランザクション インテグレーター (COMTI) 組み込み情報を構成するために使用されます。 COMTI を使用すると、開発者はメインフレーム ベースのトランザクション プログラムをコンポーネント ベースのアプリケーションと統合できます。
IServiceIISIntrinsicsConfig
インターネット インフォメーション サービス (IIS) 組み込み情報を構成するために使用されます。
IServicePartitionConfig
COM+ パーティションをサービスと共に使用する方法を構成するために使用されます。
IServiceSxSConfig
サイド バイ サイド アセンブリを構成するために使用されます。
IServiceSynchronizationConfig
COM+ 同期サービスを構成するために使用されます。
IServiceThreadPoolConfig
COM+ サービスのスレッド プールを構成するために使用されます。 スレッド プールは、CoCreateActivity 関数を使用する場合にのみ構成できます。
IServiceTrackerConfig
Tracker プロパティを構成するために使用します。 Tracker は、実行中のコードを監視するためにコードを監視するために使用されるレポート メカニズムです。
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+ サービスの使用

CoEnterServiceDoメイン および CoLeaveServiceDo を介した COM+ サービスの使用メイン