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
继承
TrackingService
派生
属性

注解

注意

本材料讨论的类型和命名空间已废弃不用。 有关详细信息,请参阅 Windows Workflow Foundation 4.5 中弃用的类型

跟踪服务负责向工作流运行时引擎提供跟踪通道和跟踪配置文件。 工作流运行时引擎为它具有 TrackingChannel 的每个工作流实例从跟踪服务请求一个 TrackingProfile。 工作流运时引擎使用此 TrackingChannel 发送与该工作流实例关联的跟踪记录。 TrackingProfile 包含指定一组跟踪事件的跟踪点,运行时跟踪基础结构应为这些事件发送跟踪记录。 TrackingProfile 还可以指定在其中一个跟踪事件发生时要从工作流实例中提取的数据。

运行时跟踪基础结构使用 TrackingProfile 以筛选由工作流实例发出的跟踪事件。 在发出了与 TrackingProfile 中的跟踪点匹配的跟踪事件时,运行时跟踪基础结构将从工作流实例中提取在 TrackingProfile 中指定的任何数据,并将此数据和有关跟踪事件的信息包装在跟踪记录中。 然后,将通过与工作流实例关联的 TrackingChannel 发送此跟踪记录。 跟踪记录可能为以下某一类型:

ActivityTrackingRecord

UserTrackingRecord

WorkflowTrackingRecord

主机应用程序可以通过它选择的任何方式使用跟踪记录。 例如,宿主应用程序可以将跟踪信息存储在数据库中并使用它来实现复杂的用户界面,或者,它可以使用该信息将需要某种操作的情况通知管理员。 通过调用 WorkflowRuntime.AddService 或在应用程序配置文件中包括适当的条目,您可以向工作流运行时引擎注册跟踪服务。

所有跟踪服务都必须从 TrackingService 抽象类继承。 此类在跟踪服务与运行时跟踪基础结构之间定义基本接口。 工作流运行时引擎通过调用某个重载 TrackingProfile 方法或 Type 方法,为特定工作流实例或工作流 GetProfile 请求 TryGetProfile。 工作流运行时引擎调用 GetTrackingChannel 以请求 TrackingChannel

在创建工作流实例或从持久性存储区中加载工作流实例时,工作流跟踪运行时将调用 GetProfileTryGetProfile 方法。 与这些调用关联的系统开销对于跟踪服务而言可能很大(举例来说,多个数据库调用)。 你可以在跟踪服务中实现 IProfileNotification 接口以避开这种基于调用的机制,并使用事件将 TrackingProfile 的更改通知工作流运行时引擎。 对于实现 IProfileNotification 接口的跟踪服务,工作流运行时引擎将订阅 ProfileUpdatedProfileRemoved 事件。 当它的某个跟踪配置文件发生更改时,跟踪服务可以引发适当的事件。 SqlTrackingService 类实现了此接口。

工作流运行时引擎调用 TryReloadProfile 方法,以测试 TrackingProfile 是否已因为主机或服务在工作流实例上显式调用了 ReloadTrackingProfiles 而更新或被移除。 此过程使宿主或服务能够动态地更改正用于特定工作流实例的跟踪配置文件。

实施者说明

构造函数

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)
已过时.

必须在派生类中重写,并且在实现后为指定的工作流实例检索新的跟踪配置文件(如果跟踪配置文件自上次加载后已更改)。

适用于

另请参阅