TrackingService Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestroga
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Zapewnia podstawowy interfejs między usługą śledzenia a infrastrukturą śledzenia w czasie wykonywania.
public ref class TrackingService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class TrackingService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public abstract class TrackingService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type TrackingService = class
inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type TrackingService = class
inherit WorkflowRuntimeService
Public MustInherit Class TrackingService
Inherits WorkflowRuntimeService
- Dziedziczenie
- Pochodne
- Atrybuty
Uwagi
Uwaga
W tym materiale omówiono przestarzałe typy i przestrzenie nazw. Aby uzyskać więcej informacji, zobacz Przestarzałe typy w programie Windows Workflow Foundation 4.5.
Usługa śledzenia jest odpowiedzialna za dostarczanie kanałów śledzenia i profilów śledzenia do aparatu uruchomieniowego przepływu pracy. Aparat czasu wykonywania przepływu pracy żąda jednego TrackingChannel z usługi śledzenia dla każdego wystąpienia przepływu pracy, dla którego ma element TrackingProfile. Aparat czasu wykonywania przepływu pracy używa tej TrackingChannel funkcji do wysyłania rekordów śledzenia skojarzonych z tym wystąpieniem przepływu pracy. Element TrackingProfile zawiera punkty śledzenia, które określają zestaw zdarzeń śledzenia, dla których infrastruktura śledzenia czasu wykonywania powinna wysyłać rekordy śledzenia. Element TrackingProfile może również określać dane, które mają zostać wyodrębnione z wystąpienia przepływu pracy, gdy wystąpi jedno z tych zdarzeń śledzenia.
Infrastruktura śledzenia czasu wykonywania używa elementu do TrackingProfile filtrowania zdarzeń śledzenia emitowanych przez wystąpienie przepływu pracy. Gdy zdarzenie śledzenia jest emitowane, które pasuje do punktu śledzenia w TrackingProfileobiekcie , infrastruktura śledzenia w czasie wykonywania wyodrębnia wszystkie dane określone w TrackingProfile obiekcie z wystąpienia przepływu pracy i hermetyzuje te dane oraz informacje o zdarzeniu śledzenia w rekordzie śledzenia. Ten rekord śledzenia jest następnie wysyłany za TrackingChannel pośrednictwem skojarzonego z wystąpieniem przepływu pracy. Rekord śledzenia może być jednym z następujących rodzajów:
Aplikacja hosta może używać rekordu śledzenia w dowolny sposób, który wybierze. Na przykład aplikacja hosta może przechowywać informacje śledzenia w bazie danych i używać jej do implementowania zaawansowanego interfejsu użytkownika lub może użyć tych informacji, aby poinformować administratora o warunku, który wymaga pewnej akcji. Usługę śledzenia można zarejestrować za pomocą aparatu czasu wykonywania przepływu pracy przez wywołanie WorkflowRuntime.AddService metody lub przez dołączenie odpowiedniego wpisu w pliku konfiguracji aplikacji.
Wszystkie usługi śledzenia muszą dziedziczyć z klasy abstrakcyjnej TrackingService . Ta klasa definiuje podstawowy interfejs między usługą śledzenia a infrastrukturą śledzenia w czasie wykonywania. Aparat czasu wykonywania przepływu pracy żąda TrackingProfile elementu dla określonego wystąpienia przepływu pracy lub przepływu pracy Type przez wywołanie jednej z przeciążonych GetProfile metod lub TryGetProfile metody. Aparat czasu wykonywania przepływu pracy wywołuje polecenie GetTrackingChannel w celu zażądania TrackingChannelelementu .
Środowisko uruchomieniowe śledzenia przepływu pracy wywołuje GetProfile metody i TryGetProfile przy każdym utworzeniu lub załadowaniu wystąpienia przepływu pracy z magazynu trwałości. Obciążenie związane z tymi wywołaniami może być kosztowne dla usługi śledzenia (na przykład wiele wywołań bazy danych). Interfejs w IProfileNotification usłudze śledzenia można zaimplementować, aby obejść ten mechanizm oparty na wywołaniu i użyć zdarzeń w celu powiadamiania aparatu środowiska uruchomieniowego przepływu pracy o zmianach w obiekcie TrackingProfile. W przypadku usług śledzenia, które implementują IProfileNotification interfejs, aparat czasu wykonywania przepływu pracy subskrybuje zdarzenia ProfileUpdated i ProfileRemoved . Usługa śledzenia może zgłosić odpowiednie zdarzenie, gdy nastąpi zmiana na jeden z jego profilów śledzenia. Klasa SqlTrackingService implementuje ten interfejs.
Aparat czasu wykonywania przepływu pracy wywołuje metodę TryReloadProfile w celu sprawdzenia, czy TrackingProfile element został zaktualizowany, czy usunięty w wyniku jawnego wywołania przez hosta lub usługę ReloadTrackingProfiles w wystąpieniu przepływu pracy. Ten proces umożliwia hostowi lub usłudze dynamiczne zmienianie profilu śledzenia używanego dla określonego wystąpienia przepływu pracy.
Uwagi dotyczące implementowania
Podczas dziedziczenia z TrackingServiceprogramu należy zastąpić następujące elementy członkowskie: GetProfile(Guid)
Konstruktory
TrackingService() |
Przestarzałe.
Po zaimplementowaniu w klasie pochodnej inicjuje nowe wystąpienie TrackingService klasy. |
Właściwości
Runtime |
Przestarzałe.
Pobiera element WorkflowRuntime dla tej usługi. (Odziedziczone po WorkflowRuntimeService) |
State |
Przestarzałe.
Pobiera stan .WorkflowRuntimeService (Odziedziczone po WorkflowRuntimeService) |
Metody
Equals(Object) |
Przestarzałe.
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Przestarzałe.
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetProfile(Guid) |
Przestarzałe.
Należy zastąpić klasę pochodną, a po zaimplementowaniu zwraca profil śledzenia dla określonego wystąpienia przepływu pracy. |
GetProfile(Type, Version) |
Przestarzałe.
Należy zastąpić klasę pochodną, a po zaimplementowaniu zwraca profil śledzenia kwalifikowany przez wersję dla określonego przepływu pracy Type. |
GetTrackingChannel(TrackingParameters) |
Przestarzałe.
Należy zastąpić klasę pochodną, a po zaimplementowaniu zwraca kanał używany przez infrastrukturę śledzenia czasu wykonywania do wysyłania rekordów śledzenia do usługi śledzenia. |
GetType() |
Przestarzałe.
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Przestarzałe.
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnStarted() |
Przestarzałe.
Po zastąpieniu w klasie pochodnej reprezentuje metodę, która zostanie wywołana, gdy aparat środowiska uruchomieniowego przepływu pracy zgłosi Started zdarzenie. (Odziedziczone po WorkflowRuntimeService) |
OnStopped() |
Przestarzałe.
Po zastąpieniu w klasie pochodnej reprezentuje metodę, która zostanie wywołana, gdy aparat środowiska uruchomieniowego przepływu pracy zgłosi Stopped zdarzenie. (Odziedziczone po WorkflowRuntimeService) |
RaiseServicesExceptionNotHandledEvent(Exception, Guid) |
Przestarzałe.
ServicesExceptionNotHandled Zgłasza zdarzenie. (Odziedziczone po WorkflowRuntimeService) |
Start() |
Przestarzałe.
Po zastąpieniu klasy pochodnej program uruchamia usługę i zmienia wartość State na Starting. (Odziedziczone po WorkflowRuntimeService) |
Stop() |
Przestarzałe.
Po zastąpieniu klasy pochodnej program zatrzymuje usługę i zmienia element State na Stopping. (Odziedziczone po WorkflowRuntimeService) |
ToString() |
Przestarzałe.
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
TryGetProfile(Type, TrackingProfile) |
Przestarzałe.
Należy przesłonić w klasie pochodnej, a po zaimplementowaniu pobiera profil śledzenia dla określonego typu przepływu pracy, jeśli jest dostępny. |
TryReloadProfile(Type, Guid, TrackingProfile) |
Przestarzałe.
Należy zastąpić klasę pochodną, a po zaimplementowaniu pobiera nowy profil śledzenia dla określonego wystąpienia przepływu pracy, jeśli profil śledzenia uległ zmianie od czasu ostatniego załadowania. |