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

注釈

注意

ここでは、廃止された型と名前空間について説明します。 詳細については、「.NET 4.5 での Windows Workflow Foundation の新機能」を参照してください。

追跡サービスは、追跡チャネルと追跡プロファイルをワークフロー ランタイム エンジンに提供します。 ワークフロー ランタイム エンジンは、TrackingChannel の対象となるワークフロー インスタンスごとに追跡サービスから 1 つの TrackingProfile を要求します。 ワークフロー ランタイム エンジンはこの TrackingChannel を使用して、そのワークフロー インスタンスに関連付けられた追跡レコードを送信します。 TrackingProfile には、ランタイム追跡インフラストラクチャが追跡レコードを送る対象の追跡イベント セットを指定する追跡ポイントが格納されます。 また、TrackingProfile は、これらの追跡イベントのいずれかが発生したときにワークフロー インスタンスから抽出されるデータを指定する場合もあります。

ランタイム追跡インフラストラクチャは、ワークフロー インスタンスによって出される追跡イベントをフィルター処理するために TrackingProfile を使用します。 TrackingProfile 内の追跡ポイントに一致する追跡イベントが出された場合、ランタイム追跡インフラストラクチャは、TrackingProfile に指定されたすべてのデータをワークフロー インスタンスから抽出して、このデータおよび追跡イベントに関する情報を追跡レコードにカプセル化します。 その後、ワークフロー インスタンスに関連付けられた TrackingChannel を介してこの追跡レコードが送信されます。 追跡レコードは、次の 3 種類のいずれかになります。

ActivityTrackingRecord

UserTrackingRecord

WorkflowTrackingRecord

ホスト アプリケーションは、任意の方法で追跡レコードを使用できます。 たとえば、高度なユーザー インターフェイスを実装するために、ホスト アプリケーションは追跡情報をデータベースに保存して利用することができます。また、なんらかの処置を必要とする状態を管理者に通知するために情報を使用することもできます。 追跡サービスをワークフロー ランタイム エンジンに登録するには、WorkflowRuntime.AddService を呼び出すか、アプリケーション構成ファイルに適切なエントリを追加します。

すべての追跡サービスは、TrackingService 抽象クラスから継承する必要があります。 このクラスは、追跡サービスとランタイム追跡インフラストラクチャの間の基本的なインターフェイスを定義します。 ワークフロー ランタイム エンジンは、オーバーロードされた TrackingProfile メソッドのいずれかまたは Type メソッドを呼び出すことによって、特定のワークフロー インスタンスまたはワークフロー GetProfile に関する TryGetProfile を要求します。 ワークフロー ランタイム エンジンは、GetTrackingChannel を要求するために TrackingChannel を呼び出します。

ワークフロー インスタンスが作成される、または永続的ストアから読み込まれるたびに、ワークフロー追跡ランタイムは GetProfile メソッドと TryGetProfile メソッドを呼び出します。 このような呼び出しに伴うオーバーヘッドによって、追跡サービスのパフォーマンスに影響が生じる可能性があります (たとえば多数のデータベース呼び出しが発生する場合など)。 このような呼び出しベースのメカニズムを回避するために、IProfileNotification インターフェイスを追跡サービス内に実装して、イベントを使って TrackingProfile の変化をワークフロー ランタイム エンジンに通知することができます。 IProfileNotification インターフェイスを実装する追跡サービスに関して、ワークフロー ランタイム エンジンは、ProfileUpdated イベントおよび ProfileRemoved イベントに定期受信します。 いずれかの追跡プロファイルが変化したときに、追跡サービスは適切なイベントを出すことができます。 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()
古い.

派生クラスでオーバーライドされると、サービスを開始して、StateStarting に変更します。

(継承元 WorkflowRuntimeService)
Stop()
古い.

派生クラスでオーバーライドされると、サービスを停止して StateStopping に変更します。

(継承元 WorkflowRuntimeService)
ToString()
古い.

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TryGetProfile(Type, TrackingProfile)
古い.

派生クラス内でオーバーライドされる必要があります。実装されると、特定のワークフロー型 (存在する場合) に関する追跡プロファイルを取得します。

TryReloadProfile(Type, Guid, TrackingProfile)
古い.

派生クラス内でオーバーライドされる必要があります。実装されると、最後の読み込み以降に追跡プロファイルが変化した場合、特定のワークフロー インスタンスの新しい追跡プロファイルを取得します。

適用対象

こちらもご覧ください