TrackingService 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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) |
已淘汰.
必須在衍生類別中覆寫,而且在實作後,如果追蹤設定檔自上次載入後已變更,則擷取指定之工作流程執行個體的新追蹤設定檔。 |