WorkflowPersistenceService クラス

定義

注意事項

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

すべての永続性サービスの派生元となる抽象基本クラスです。

public ref class WorkflowPersistenceService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class WorkflowPersistenceService : 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 WorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type WorkflowPersistenceService = class
    inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowPersistenceService = class
    inherit WorkflowRuntimeService
Public MustInherit Class WorkflowPersistenceService
Inherits WorkflowRuntimeService
継承
WorkflowPersistenceService
派生
属性

注釈

注意

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

ワークフローの実行中に特定の状態になると、ワークフロー ランタイム エンジンはワークフロー インスタンスに関する状態情報を永続化します。 永続化が行われるのは、たとえば、アトミック トランザクションが完了したとき、ワークフロー インスタンスがアイドル状態になったとき、ホストがワークフロー インスタンスに対する WorkflowInstance.Unload を呼び出したとき、ワークフロー インスタンスが終了または完了したときです。 永続化を行う必要があることがワークフロー ランタイム エンジンのセマンティクスにより決定されると、ワークフロー ランタイム エンジンは永続性サービスによって提供されるメソッドを呼び出し、ワークフロー インスタンスに関する状態情報を保存します。 同様に、ワークフロー ランタイム エンジンが以前に永続化されたワークフロー インスタンスを復元する必要がある場合、ワークフロー ランタイム エンジンは永続性サービスによって提供されるメソッドを呼び出し、その状態情報を読み込みます。 ワークフロー ランタイム エンジンは、永続化を行う必要がある場合についてのすべてのセマンティクスを扱います。 永続性サービスは、ワークフロー状態情報のデータ ストアへの保存およびデータ ストアからの読み込みを実際に処理します。

WorkflowPersistenceService クラスからクラスを派生させることにより、永続性サービスを作成できます。 永続性サービスをワークフロー ランタイム エンジンに追加するには、AddService を呼び出すか、アプリケーション構成ファイルに適切なエントリを追加します。 WorkflowRuntime に含めることができる永続性サービスは 1 つだけです。 Windows Workflow Foundation に用意されている SqlWorkflowPersistenceService クラスは、そのまますぐに使用できる永続性サービスですが、拡張して使用することもできます。

ワークフロー ランタイム エンジンは、ワークフロー状態情報をロックするためのセマンティクスを持っています。これは、異なるプロセスで実行される永続性サービスが単一のデータ ストアにアクセスできる環境で使用されます。 WorkflowPersistenceService クラスを使用すると、ワークフロー ランタイム エンジンのこの機能をサポートできます。そのためには、データ ストア内のワークフロー インスタンスの状態情報のロックを解除するかどうかを指定するパラメーターを SaveWorkflowInstanceState に提供し、以前にロックされたワークフロー状態情報のロックを解除する UnlockWorkflowInstanceState メソッドを提供します。 ロックを実装する永続性サービスでは、LoadWorkflowInstanceState を呼び出してワークフロー インスタンスの状態情報をロックする必要があります。

永続性サービスは、状態情報をデータ ストアに保存できなかった場合、またはデータ ストアから状態情報を読み込めなかった場合は、PersistenceException をスローする必要があります。 ワークフロー ランタイム エンジンにはこの動作が必要です。

耐久性のあるストアを使用してワークフローの状態情報を保存するサービスには、バッチ メカニズムが用意されています。 このような場合には、永続性サービスで使用する耐久性のあるストアとワークフロー ランタイム エンジンの内部状態の整合性を保持することが重要です。 IPendingWork インターフェイスで定義されている機能をサービスに追加してから、WorkflowCommitWorkBatchService によって提供されているワークフロー トランザクション バッチに参加することができます。これは、データ ストアに対する変更を WorkBatch に対する作業項目として追加することにより実行されます。 永続的ストア自体によって IEnlistmentNotification インターフェイスが実装されるため、トランザクション ロールバックが発生した場合でもワークフロー情報が誤って永続化されることはありません。 詳細については、SaveWorkflowInstanceStateSaveCompletedContextActivity」または」を参照してください。

コンストラクター

WorkflowPersistenceService()
古い.

派生クラスとして実装された場合、WorkflowPersistenceService クラスの新しいインスタンスを初期化します。

プロパティ

Runtime
古い.

このサービスの WorkflowRuntime を取得します。

(継承元 WorkflowRuntimeService)
State
古い.

WorkflowRuntimeService の状態を取得します。

(継承元 WorkflowRuntimeService)

メソッド

Equals(Object)
古い.

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetDefaultSerializedForm(Activity)
古い.

シリアル化された既定の形式の Activity を取得します。

GetHashCode()
古い.

既定のハッシュ関数として機能します。

(継承元 Object)
GetIsBlocked(Activity)
古い.

指定したアクティビティがブロックされているかどうかを示します。

GetSuspendOrTerminateInfo(Activity)
古い.

指定したアクティビティの終了または中断の情報を取得します。

GetType()
古い.

現在のインスタンスの Type を取得します。

(継承元 Object)
GetWorkflowStatus(Activity)
古い.

ワークフローのステータスを取得します。

LoadCompletedContextActivity(Guid, Activity)
古い.

派生クラスとして実装された場合、指定した完了スコープをメモリに戻します。

LoadWorkflowInstanceState(Guid)
古い.

派生クラスとして実装された場合、指定したワークフロー インスタンス状態をメモリに戻します。

MemberwiseClone()
古い.

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnStarted()
古い.

派生クラスでオーバーライドされるときに、ワークフロー ランタイム エンジンが Started イベントを発生させると呼び出されるメソッドを表します。

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

派生クラスでオーバーライドされるときに、ワークフロー ランタイム エンジンが Stopped イベントを発生させると呼び出されるメソッドを表します。

(継承元 WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
古い.

ServicesExceptionNotHandled イベントを発生させます。

(継承元 WorkflowRuntimeService)
RestoreFromDefaultSerializedForm(Byte[], Activity)
古い.

シリアル化された形式から Activity を復元します。

SaveCompletedContextActivity(Activity)
古い.

派生クラスとして実装された場合、指定した完了スコープをデータ ストアに保存します。

SaveWorkflowInstanceState(Activity, Boolean)
古い.

派生クラスとして実装された場合、ワークフロー インスタンス状態をデータ ストアに保存します。

Start()
古い.

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

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

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

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

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

(継承元 Object)
UnloadOnIdle(Activity)
古い.

アイドル状態になったワークフローがアンロードされるかどうかを判断します。

UnlockWorkflowInstanceState(Activity)
古い.

派生クラスでオーバーライドされると、ワークフロー インスタンス状態のロックを解除します。

適用対象