Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dane subskrypcji znajdują się w katalogu com+ subskrypcji. Subskrypcję można utworzyć przy użyciu narzędzia administracyjnego usługi składników lub programowo przy użyciu interfejsu ICOMAdminCatalog::InstallComponent.
Kolekcja SubscriptionsForComponent służy do dodawania, usuwania lub zmieniania informacji dotyczących subskrypcji. Kolekcja SubscriptionsForComponent jest kolekcją podrzędną składnika. Aby dodać subskrypcję, pobierz kolekcję SubscriptionsForComponent składnika i użyj metody Dodaj, aby dodać wpis do kolekcji. Aby skonfigurować różne właściwości obiektu subskrypcji, użyj właściwości Value. Aby zapisać zmiany, użyj SaveChanges w obiekcie kolekcji SubscriptionsForComponent.
Możesz również użyć narzędzia administracyjnego usługi składników, aby zmodyfikować niektóre, ale nie wszystkie właściwości subskrypcji. Subskrypcje określają następujące informacje:
- Tożsamość i lokalizacja subskrybenta
- Metoda dostarczania
- Metody zdarzeń do dostarczenia
- Obiekt klasy zdarzeń i właściwość PublisherID składnika klasy zdarzeń, z którego subskrybent chce odbierać zdarzenia
Subskrypcje istnieją niezależnie od obiektów klasy zdarzeń. Subskrypcję można wyłączyć, ustawiając właściwość Enabled na False. Wyłączona subskrypcja nie jest wywoływana przez zdarzenia COM+ .
Trzy typy subskrypcji są następujące:
-
trwałe
-
Subskrypcje trwałe znajdują się w katalogu COM+ i są niezależne od okresu istnienia subskrybenta. Trwałe subskrypcje przetrwają ponowne uruchomienie systemu. Ogólnie rzecz biorąc, subskrypcja trwała jest tworzona, gdy aplikacja jest zainstalowana na komputerze subskrybenta i usuwana po usunięciu aplikacji. Po utworzeniu trwałej subskrypcji zdarzenia COM+ aktywują subskrybenta za każdym razem, gdy zdarzenie powinno zostać do niego dostarczone.
Gdy wydawca tworzy wystąpienie obiektu klasy zdarzeń, obiekt wyszukuje wszystkie trwałe subskrypcje w katalogu COM+ i tworzy nowe wystąpienie każdego obiektu. Proces tworzenia może być bezpośredni lub przez moniker dla składników w kolejce. Określ obiekt subskrybenta przez właściwość SubscriberMoniker subskrypcji. Obiekty subskrybentów utworzone przez subskrypcję trwałą są zawsze zwalniane po każdym wywołaniu zdarzenia.
-
przejściowe
-
W przypadku subskrypcji przejściowych można użyć kolekcji TransientSubscriptions, której obiektem nadrzędnym jest obiekt katalogu głównego. Przejściowe subskrypcje żądają zdarzenia dla określonego obiektu subskrybenta, który już istnieje. Przejściowe subskrypcje są przechowywane w katalogu COM+, ale subskrypcja jest usuwana, jeśli system zdarzeń lub system operacyjny został zatrzymany. W przeciwieństwie do subskrypcji trwałych subskrypcje przejściowe są powiązane z określonym obiektem i są przechowywane tylko w systemie zdarzeń. Przejściowe subskrypcje mogą być wydajniejsze niż subskrypcje trwałe, ale musisz zarządzać cyklami życia obiektów. Aby uzyskać informacje na temat rejestrowania subskrypcji przejściowej, zobacz Rejestrowanie przejściowej subskrypcji.
-
na użytkownika
-
Subskrypcje na użytkownika mogą dostarczać zdarzenia tylko wtedy, gdy subskrybent jest zalogowany na komputerze systemu zdarzeń. Gdy subskrybent loguje się, system zdarzeń włącza wszystkie subskrypcje, w których flaga PerUser jest ustawiona na true i UserName jest ustawiona na nazwę użytkownika, który jest zalogowany. Po wylogowaniu subskrybenta subskrypcje są wyłączone.
Subskrypcje na użytkownika obowiązują tylko wtedy, gdy wydawca i subskrybent znajdują się na tym samym komputerze. Logowania i wylogowania są wykrywane tylko na komputerze wydawcy — a nie na komputerze, na którym znajduje się obiekt subskrybenta.
System zdarzeń używa metadanych do powiadamiania zainteresowanych subskrybentów za każdym razem, gdy obiekty lub subskrypcje klasy zdarzeń są tworzone, modyfikowane lub usuwane. Aby odbierać meta-zdarzenia z systemu zdarzeń, aplikacje muszą utworzyć subskrypcję, która znajduje się na komputerze systemu zdarzeń i określa identyfikator interfejsu wyzwalania (IID_IEventObjectChange).
Tematy pokrewne