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);
Zugehörige Themen