TrackingService Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание!
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Предоставляет базовый интерфейс между службой отслеживания и инфраструктурой отслеживания среды выполнения.
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
- Наследование
- Производный
- Атрибуты
Комментарии
Примечание
В этом материале обсуждаются устаревшие типы и пространства имен. Дополнительные сведения см. в статье о нерекомендуемых типах в Windows Workflow Foundation 4.5.
Служба отслеживания отвечает за поставку каналов отслеживания и профилей отслеживания подсистеме среды выполнения рабочего процесса. Подсистема среды выполнения рабочего процесса запрашивает один класс TrackingChannel у службы отслеживания для каждого экземпляра рабочего процесса, для которого имеется класс TrackingProfile. Подсистема среды выполнения рабочего процесса использует этот класс TrackingChannel для отправки записей отслеживания, связанных с экземпляром рабочего процесса. Класс TrackingProfile содержит точки отслеживания, указывающие набор событий отслеживания, для которых инфраструктура отслеживания среды выполнения должна отправить записи отслеживания. Класс TrackingProfile также должен указывать данные, которые нужно извлечь из экземпляра рабочего процесса, когда происходит одно из этих событий отслеживания.
Инфраструктура отслеживания среды выполнения использует класс TrackingProfile для фильтрации событий отслеживания, созданных экземпляром рабочего процесса. При создании события отслеживания, которое совпадает с точкой отслеживания в классе TrackingProfile, инфраструктура отслеживания среды выполнения извлекает любые данные, указанные в классе TrackingProfile из экземпляра рабочего процесса и заключает эти данные и сведения о событии отслеживания в запись отслеживания. Эта запись отслеживания после этого отправляется при помощи класса TrackingChannel, связанного с экземпляром рабочего процесса. Запись отслеживания может быть следующих видов:
Ведущее приложение может использовать запись отслеживания любым способом. Например, ведущее приложение может хранить сведения отслеживания в базе данных и использовать их для реализации сложного пользовательского интерфейса, или использовать данные для оповещения администратора о состоянии, которое требует каких-либо действий. Службу отслеживания можно зарегистрировать в подсистеме среды выполнения рабочего процесса путем вызова метода WorkflowRuntime.AddService или путем включения соответствующей записи в файл конфигурации приложения.
Все службы отслеживания должны наследовать от абстрактного класса TrackingService. Этот класс определяет основной интерфейс между службой отслеживания и инфраструктурой отслеживания среды выполнения. Подсистема среды выполнения рабочего процесса запрашивает класс TrackingProfile для конкретного экземпляра рабочего процесса или тип Type рабочего процесса путем вызова одного из перегруженных методов GetProfile или метода TryGetProfile. Подсистема среды выполнения рабочего процесса вызывает метод GetTrackingChannel для запроса класса TrackingChannel.
Среда выполнения отслеживания рабочего процесса вызывает методы GetProfile и TryGetProfile при каждом создании или загрузке экземпляра рабочего процесса из постоянного хранилища. Служебные данные, связанные с этими вызовами, могут сильно обременить службу отслеживания (например, большим количеством вызовов базы данных). Интерфейс IProfileNotification можно реализовать в службе отслеживания, чтобы обмануть этот механизм, основанный на вызовах, и использовать события для оповещения подсистемы среды выполнения рабочего процесса об изменениях в классе TrackingProfile. Для служб отслеживания, использующих интерфейс IProfileNotification, подсистема среды выполнения рабочего процесса подписывается на события ProfileUpdated и ProfileRemoved. Служба отслеживания может создать соответствующее событие, когда изменяется один из профилей отслеживания. Объект класса SqlTrackingService реализует данный интерфейс.
Подсистема среды выполнения рабочего процесса вызывает метод TryReloadProfile, чтобы проверить, был ли обновлен или изменен класс TrackingProfile в результате непосредственного вызова с узла или службой метода ReloadTrackingProfiles для экземпляра рабочего процесса. Этот процесс позволяет узлу или службе динамически изменять профили отслеживания, используемые конкретными экземплярами рабочих процессов.
Примечания для тех, кто реализует этот метод
При наследовании от TrackingServiceнеобходимо переопределить следующие члены: GetProfile(Guid)
Конструкторы
TrackingService() |
Устаревшие..
При реализации в производном классе инициализирует новый экземпляр класса TrackingService. |
Свойства
Runtime |
Устаревшие..
Возвращает WorkflowRuntime для данной службы. (Унаследовано от WorkflowRuntimeService) |
State |
Устаревшие..
Возвращает состояние экземпляра WorkflowRuntimeService. (Унаследовано от WorkflowRuntimeService) |
Методы
Equals(Object) |
Устаревшие..
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Устаревшие..
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetProfile(Guid) |
Устаревшие..
Должен переопределяться в производном классе и при реализации должен возвращать профиль отслеживания для указанного экземпляра рабочего процесса. |
GetProfile(Type, Version) |
Устаревшие..
Должен переопределяться в производном классе и при реализации должен возвращать профиль отслеживания для указанного типа Type рабочего процесса. |
GetTrackingChannel(TrackingParameters) |
Устаревшие..
Должен переопределяться в производном классе и при реализации должен возвращать канал, который инфраструктура отслеживания среды выполнения использует для отправки записей отслеживания службе отслеживания. |
GetType() |
Устаревшие..
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Устаревшие..
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OnStarted() |
Устаревшие..
При переопределении в производном классе представляет метод, который будет вызван при вызове подсистемой среды выполнения рабочих процессов события Started. (Унаследовано от WorkflowRuntimeService) |
OnStopped() |
Устаревшие..
При переопределении в производном классе представляет метод, который будет вызван при вызове подсистемой среды выполнения рабочих процессов события Stopped. (Унаследовано от WorkflowRuntimeService) |
RaiseServicesExceptionNotHandledEvent(Exception, Guid) |
Устаревшие..
Вызывает событие ServicesExceptionNotHandled. (Унаследовано от WorkflowRuntimeService) |
Start() |
Устаревшие..
При переопределении в производном классе запускает службу и изменяет State на Starting. (Унаследовано от WorkflowRuntimeService) |
Stop() |
Устаревшие..
При переопределении в производном классе останавливает службу и изменяет State на Stopping. (Унаследовано от WorkflowRuntimeService) |
ToString() |
Устаревшие..
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TryGetProfile(Type, TrackingProfile) |
Устаревшие..
Должен переопределяться в производном классе и при реализации должен требовать профиль отслеживания для указанного типа рабочего процесса, если таковой доступен. |
TryReloadProfile(Type, Guid, TrackingProfile) |
Устаревшие..
Должен переопределяться в производном классе и при реализации требовать новый профиль отслеживания для указанного экземпляра рабочего процесса, если профиль отслеживания был изменен с момента последней загрузки. |