Verwenden von COM+-Ereignissen mit COM+-Komponenten in der Warteschlange

Der COM+-Ereignisdienst wird verwendet, um die Übermittlung von Ereignissen von Herausgebern an Abonnenten zu verwalten. Der COM+-Warteschlangenkomponentendienst kann verwendet werden, um die Verarbeitungszeit des Herausgebers und Abonnenten unabhängig zu machen, indem die Nachricht des Herausgebers anstehen und später an den Abonnenten wiedergegeben wird. Ob Sie den Dienst für Komponenten in der Warteschlange verwenden müssen, hängt von der zugrunde liegenden Geschäftslogik Ihrer Anwendung ab. Wenn Sie Ereignisse benötigen, die zeitunabhängig sind, können Sie sie mithilfe des COM+-Ereignisdiensts mit COM+-Warteschlangenkomponenten-Dienst erstellen.

Hinweis

Weitere Informationen zur Verwendung des COM+-Warteschlangenkomponentendiensts finden Sie unter COM+ Warteschlangenkomponenten.

 

Der Dienst für komponenten in der Warteschlange verwaltet die Reihenfolge der Methodenaufrufe innerhalb einer einzelnen Nachricht. Der Rekorder batchiert alle Methodenaufrufe in eine Nachricht, und der Player ruft diese Methoden dann in der Reihenfolge auf, wenn die Nachricht verarbeitet wird.

Ein Rekorder und ein Player mit Komponenten in der Warteschlange können an einer der folgenden beiden Stellen positioniert werden:

  • Zwischen dem Herausgeber und dem Ereignisobjekt
  • Zwischen dem Ereignisobjekt und dem Abonnenten

Wenn Sie den Rekorder und den Player zwischen dem Verleger- und dem Ereignisobjekt positionieren, wird die Ereignisklassenkomponente warteschlangenfähig. Die Ereignisklassenkomponente muss für Warteschlangen markiert und vom Player in einem vom Herausgeber getrennten Prozess aktiviert werden.

Um Ereignisse asynchron zu übermitteln, erstellen Sie den Recorder und den Player zwischen dem Ereignisobjekt und dem Abonnenten, und legen Sie das Queued-Attribut des Abonnementobjekts fest. Dadurch wird SubscriberMoniker wie folgt festgelegt: "queue:/new:/{12345678-1234-1234-1234-123456789012}".

Es gibt eine Reihenfolge der Übermittlung, die bei der Verwendung von Komponenten in einer Warteschlange in einer Ereignissituation berücksichtigt werden muss. Da der Dienst der Komponenten in der Warteschlange alle Aufrufe innerhalb der Lebensdauer eines einzelnen Objekts in einer Nachricht erfasst und wiedergibt, werden alle Aufrufe in der Reihenfolge wiedergegeben, in der sie getätigt wurden. Wenn jedoch mehr als eine Sitzung mit mehr als einem Objekt vorhanden ist, kann die Reihenfolge nicht garantiert werden. Wenn die Reihenfolge wichtig ist, stellen Sie sicher, dass Aufrufe, die wiedergegeben werden müssen, sich auf demselben Objekt befinden instance.

Filtern von Ereignissen in COM+

Veröffentlichen und Übermitteln von Ereignissen in COM+

Abonnements

Das COM+-Ereignisklassenobjekt