Udostępnij przez


Obiekt klasy zdarzeń COM+

Usługa COM+ Events używa obiektu klasy zdarzeń do zarządzania połączeniem między wydawcą i subskrybentem. Obiekt klasy zdarzeń jest składnikiem COM+ zarządzanym i przechowywanym przez system zdarzeń COM+ oraz zawiera interfejsy i metody używane przez wydawcę do wyzwalania zdarzeń. Jest to trwały obiekt, który wskazuje zdarzenia, które mogą wystąpić, a opcjonalnie identyfikuje wydawcę. Należy określić interfejsy i metody, które mają zawierać klasy zdarzeń, udostępniając bibliotekę typów.

Aby uruchomić zdarzenie, wydawca inicjuje obiekt klasy zdarzeń, wywołując metodę CoCreateInstance lub Microsoft Visual Basic CreateObject, i żąda zwrócenia interfejsu zdarzenia. Obiekt instancji klasy zdarzeń zawiera implementację żądanego interfejsu systemu zdarzeń. Zainteresowany subskrybent musi również zaimplementować interfejs klasy zdarzeń w celu odbierania zdarzeń od danego wydawcy. Po utworzeniu wystąpienia obiektu klasy zdarzenia system zdarzeń kojarzy go z odpowiednimi subskrybentami. Lista subskrybentów jest utrzymywana przez okres istnienia obiektu klasy zdarzeń. Zdarzenie może być dostarczane do wielu subskrybentów szeregowo lub równolegle.

Podczas implementowania obiektu klasy zdarzeń należy podać bibliotekę DLL, która samodzielnie rejestruje się i eksportuje funkcje DllRegisterServer i DllUnregisterServer. Funkcja DllRegisterServer rejestruje klasę COM, a funkcja DllUnregisterServer wyrejestruje składnik. Obiekty klasy zdarzeń są przechowywane w katalogu COM+ za pomocą administracyjnego narzędzia Usług Składników albo programowo, poprzez zastosowanie metod interfejsów ICOMAdminCatalog::InstallEventClass lub ICOMAdminCatalog::InstallMultipleEventClasses. Aby uzyskać szczegółowe informacje na temat rejestrowania obiektów klasy zdarzeń, zobacz Rejestrowanie klasy zdarzeń.

Ponieważ obiekty klasy zdarzeń są skonfigurowanymi składnikami, inne atrybuty, takie jak kolejkowanie, transakcje, zabezpieczenia itd., można je skonfigurować przy użyciu narzędzia administracyjnego usług składników lub funkcji zestawu SDK administracyjnego COM+.

Notatka

Usługa COM+ Events używa marshalingu bibliotek typów. Powoduje to pewne ograniczenia dotyczące interfejsów klas zdarzeń. Na przykład marshaler biblioteki typów nie obsługuje atrybutów MIDL size_is oraz length_is.

 

Obiekt klasy zdarzeń posiada atrybuty publikacji, które określają sposób publikowania zdarzeń, a także następujące właściwości:

  • EventCLSID. Unikatowy identyfikator określający CLSID składnika.
  • EventClassName. Unikatowy identyfikator określający PROGID składnika.
  • TypeLibrary. Zawiera listę interfejsów oferowanych przez obiekt klasy zdarzeń. Nie ma potrzeby implementowania interfejsów wyzwalania określonych w bibliotece typów.

Zagadnienia dotyczące zabezpieczeń zdarzeń COM+

Filtrowanie zdarzeń w modelu COM+

Publikowanie i Dostarczanie Zdarzeń w COM+

subskrypcji

Używanie zdarzeń COM+ ze składnikami COM+ z wykorzystaniem kolejkowania