TrackingService Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Varning
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Tillhandahåller det grundläggande gränssnittet mellan en spårningstjänst och infrastrukturen för körningsspårning.
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
- Arv
- Härledda
- Attribut
Kommentarer
Note
I det här materialet diskuteras typer och namnområden som är föråldrade. Mer information finns i Deprecated Types in Windows Workflow Foundation 4.5.
En spårningstjänst ansvarar för att tillhandahålla spårningskanaler och spårningsprofiler till arbetsflödets körningsmotor. Arbetsflödets körningsmotor begär en TrackingChannel från en spårningstjänst för varje arbetsflödesinstans som den har en TrackingProfile. Arbetsflödets körningsmotor använder detta TrackingChannel för att skicka spårningsposter som är associerade med arbetsflödesinstansen. En TrackingProfile innehåller spårpunkter som anger en uppsättning spårningshändelser som infrastrukturen för körningsspårning ska skicka spårningsposter för. A TrackingProfile kan också ange data som ska extraheras från arbetsflödesinstansen när en av dessa spårningshändelser inträffar.
Infrastrukturen för körningsspårning använder en TrackingProfile för att filtrera spårningshändelser som genereras av en arbetsflödesinstans. När en spårningshändelse genereras som matchar en spårpunkt i TrackingProfile, extraherar infrastrukturen för körningsspårning alla data som anges i TrackingProfile från arbetsflödesinstansen och kapslar in dessa data och information om spårningshändelsen i en spårningspost. Den här spårningsposten skickas sedan över den TrackingChannel som är associerad med arbetsflödesinstansen. En spårningspost kan vara en av följande typer:
Värdprogrammet kan använda spårningsposten på valfritt sätt. Värdprogrammet kan till exempel lagra spårningsinformationen i en databas och använda den för att implementera ett avancerat användargränssnitt, eller använda informationen för att informera en administratör om ett villkor som kräver vissa åtgärder. Du kan registrera en spårningstjänst med arbetsflödets körningsmotor genom att anropa WorkflowRuntime.AddService eller genom att inkludera lämplig post i programkonfigurationsfilen.
Alla spårningstjänster måste ärva från den TrackingService abstrakta klassen. Den här klassen definierar det grundläggande gränssnittet mellan en spårningstjänst och infrastrukturen för körningsspårning. Arbetsflödets körningsmotor begär en TrackingProfile för en specifik arbetsflödesinstans eller ett arbetsflöde Type genom att anropa någon av de överlagrade GetProfile metoderna eller TryGetProfile metoden. Arbetsflödets körningsmotor anropar GetTrackingChannel för att begära en TrackingChannel.
Körningen GetProfile för arbetsflödesspårning anropar metoderna och TryGetProfile när en arbetsflödesinstans skapas eller läses in från beständighetsarkivet. De kostnader som är kopplade till dessa anrop kan vara kostsamma för spårningstjänsten (till exempel många databasanrop). Du kan implementera IProfileNotification gränssnittet i spårningstjänsten för att kringgå den här anropsbaserade mekanismen och använda händelser för att meddela arbetsflödets körningsmotor om ändringar i en TrackingProfile. För spårningstjänster som implementerar IProfileNotification gränssnittet prenumererar arbetsflödets körningsmotor ProfileUpdated på händelserna och ProfileRemoved . Spårningstjänsten kan skapa en lämplig händelse när en ändring av en av spårningsprofilerna sker. Klassen SqlTrackingService implementerar det här gränssnittet.
Arbetsflödets körningsmotor anropar TryReloadProfile metoden för att testa om en TrackingProfile har uppdaterats eller tagits bort till följd av ett explicit anrop från en värd eller en tjänst till ReloadTrackingProfiles på en arbetsflödesinstans. Den här processen gör det möjligt för en värd eller tjänst att dynamiskt ändra spårningsprofilen som används för en specifik arbetsflödesinstans.
Anteckningar till implementerare
När du ärver från TrackingServicemåste du åsidosätta följande medlemmar: GetProfile(Guid)
Konstruktorer
| Name | Description |
|---|---|
| TrackingService() |
Föråldrad.
När den implementeras i en härledd klass initieras en ny instans av TrackingService klassen. |
Egenskaper
| Name | Description |
|---|---|
| Runtime |
Föråldrad.
WorkflowRuntime Hämtar för den här tjänsten. (Ärvd från WorkflowRuntimeService) |
| State |
Föråldrad.
Hämtar tillståndet för WorkflowRuntimeService. (Ärvd från WorkflowRuntimeService) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Föråldrad.
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Föråldrad.
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetProfile(Guid) |
Föråldrad.
Måste åsidosättas i den härledda klassen och returnerar spårningsprofilen för den angivna arbetsflödesinstansen när den implementeras. |
| GetProfile(Type, Version) |
Föråldrad.
Måste åsidosättas i den härledda klassen, och när den implementeras returnerar spårningsprofilen, som är kvalificerad efter version, för det angivna arbetsflödet Type. |
| GetTrackingChannel(TrackingParameters) |
Föråldrad.
Måste åsidosättas i den härledda klassen, och när den implementeras returnerar den kanal som infrastrukturen för körningsspårning använder för att skicka spårningsposter till spårningstjänsten. |
| GetType() |
Föråldrad.
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Föråldrad.
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnStarted() |
Föråldrad.
När den åsidosätts i en härledd klass representerar den metod som anropas när arbetsflödets körningsmotor genererar Started händelsen. (Ärvd från WorkflowRuntimeService) |
| OnStopped() |
Föråldrad.
När den åsidosätts i en härledd klass representerar den metod som anropas när arbetsflödets körningsmotor genererar Stopped händelsen. (Ärvd från WorkflowRuntimeService) |
| RaiseServicesExceptionNotHandledEvent(Exception, Guid) |
Föråldrad.
Genererar händelsen ServicesExceptionNotHandled . (Ärvd från WorkflowRuntimeService) |
| Start() |
Föråldrad.
När den åsidosättas i en härledd klass startar tjänsten och ändrar State till Starting. (Ärvd från WorkflowRuntimeService) |
| Stop() |
Föråldrad.
När den åsidosättas i en härledd klass stoppar du tjänsten och ändrar State till Stopping. (Ärvd från WorkflowRuntimeService) |
| ToString() |
Föråldrad.
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TryGetProfile(Type, TrackingProfile) |
Föråldrad.
Måste åsidosättas i den härledda klassen och när den implementeras hämtar spårningsprofilen för den angivna arbetsflödestypen om en är tillgänglig. |
| TryReloadProfile(Type, Guid, TrackingProfile) |
Föråldrad.
Måste åsidosättas i den härledda klassen och när den implementeras hämtar den en ny spårningsprofil för den angivna arbetsflödesinstansen om spårningsprofilen har ändrats sedan den senast lästes in. |