Freigeben über


Verwenden von COM+ Services über CoEnterServiceDomain und CoLeaveServiceDomain

CoEnterServiceDomain und CoLeaveServiceDomain werden zusammen verwendet, um einen Codebereich zu umgeben, der im eigenen Kontext ausgeführt wird und COM+-Dienste ohne COM+-Komponenten verwenden kann. Die in diesem Kontext verwendeten COM+-Dienste werden über das CServiceConfig-Objekt konfiguriert, das an CoEnterServiceDomain übergeben wird. Der Code, der von CoEnterServiceDomain und CoLeaveServiceDomain umgeben ist, verhält sich wie eine Methode, die in diesem Kontext aufgerufen wird.

Eine Skriptanwendung kann dieses Funktionspaar verwenden, um die Laufzeitunterstützung von COM+-Diensten ohne Komponenten bereitzustellen. Beispielsweise kann eine Skriptanwendung entwickelt werden, um Tags bereitzustellen, mit denen die Skriptautoren eine Dienstdomäne innerhalb des Skripts eingeben und verlassen können. Wenn das Skriptmodul das Skript verarbeitet und die Tags auftritt, kann es CoEnterServiceDomain mit einem vorkonfigurierten CServiceConfig-Objekt aufrufen, den erforderlichen Code ausführen und dann CoLeaveServiceDomain aufrufen.

Verwaltungstool für Komponentendienste

Nicht anwendbar.

Visual Basic

Nicht anwendbar.

C/C++

Das folgende Codefragment veranschaulicht, wie COM+-Dienste zwischen Aufrufen von CoEnterServiceDomain und CoLeaveServiceDomain verwendet werden. Die Fehlerbehandlung wurde weggelassen, um die Komplexität gering zu halten. Dieses Codefragment verwendet das CServiceConfig-Objekt , das in der Konfiguration von COM+ Services mit CServiceConfig erstellt und konfiguriert wurde.

// A CServiceConfig object was created as follows:
// hr = CoCreateInstance(CLSID_CServiceConfig, NULL, CLSCTX_INPROC_SERVER, 
//   IID_IUnknown, (void**)&pUnknownCSC);

// Enter the Service Domain.
HRESULT hr = CoEnterServiceDomain(pUnknownCSC);
if (FAILED(hr)) throw(hr);

// Do the work that uses COM+ services here.
//DoMyWork();

// Leave the Service Domain.
CoLeaveServiceDomain(NULL);

CoEnterServiceDomain

CoLeaveServiceDomain

Konfigurieren von COM+ Services mit CServiceConfig

CServiceConfig

Verwenden von COM+ Services über CoCreateActivity