WorkflowPersistenceService クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
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
- 継承
- 派生
- 属性
注釈
Note
この資料では、古い型と名前空間について説明します。 詳細については、「Windows Workflow Foundation 4.5 の
ワークフローの実行中に特定の条件が発生すると、ワークフロー ランタイム エンジンはワークフロー インスタンスに関する状態情報を保持します。 永続化は、たとえば、アトミック トランザクションが完了したとき、ワークフロー インスタンスがアイドルになったとき、ホストがワークフロー インスタンスで WorkflowInstance.Unload を呼び出すとき、またはワークフロー インスタンスが終了または終了したときに発生する可能性があります。 ワークフロー ランタイム エンジンのセマンティクスによって永続化が行われる必要があると指示されると、ワークフロー ランタイム エンジンは永続化サービスによって提供されるメソッドを呼び出して、ワークフロー インスタンスに関する状態情報を保存します。 同様に、ワークフロー ランタイム エンジンは、以前に永続化されたワークフロー インスタンスを復元する必要がある場合、永続化サービスによって提供されるメソッドを呼び出して、この状態情報を読み込みます。 ワークフロー ランタイム エンジンは、永続化を実行するタイミングに関するすべてのセマンティクスを処理します。 永続化サービスは、データ ストアとの間でワークフロー状態情報を実際に保存および読み込みます。
永続化サービスを作成する場合は、 WorkflowPersistenceService クラスからクラスを派生させることができます。 永続化サービスをワークフロー ランタイム エンジンに追加するには、 AddService を呼び出すか、アプリケーション構成ファイルに適切なエントリを作成します。 WorkflowRuntimeには、永続化サービスを 1 つだけ含める必要があります。 Windows Workflow Foundation には、SqlWorkflowPersistenceService クラスが用意されています。このクラスは、そのまま使用することも拡張することもできます。
ワークフロー ランタイム エンジンには、異なるプロセスで実行される永続化サービスが 1 つのデータ ストアにアクセスできる可能性がある環境で使用するために、ワークフロー状態情報をロックするためのセマンティクスがあります。 WorkflowPersistenceService クラスは、ワークフロー インスタンスの状態情報をデータ ストアでロック解除するかどうかを指定するSaveWorkflowInstanceStateパラメーターを指定し、以前にロックされたワークフロー状態情報のロックを解除するメソッドUnlockWorkflowInstanceStateを提供することで、ワークフロー ランタイム エンジンのこの機能をサポートする機能を提供します。 ロックを実装する永続化サービスでは、 LoadWorkflowInstanceState の呼び出しでワークフロー インスタンスの状態情報をロックする必要があります。
永続化サービスは、状態情報をデータ ストアに保存したり、データ ストアから状態情報を読み込んだりできない場合に、 PersistenceException をスローする必要があります。 ワークフロー ランタイム エンジンは、この動作を想定しています。
バッチ処理メカニズムは、永続的ストアを使用してワークフロー状態情報を保存するサービスに提供されます。 このような場合は、永続化サービスによって使用される永続的ストアとワークフロー ランタイム エンジンの内部状態の間の整合性を維持することが重要です。 IPendingWork インターフェイスによって定義された機能をサービスに追加し、データ ストアに変更を作業項目としてWorkflowCommitWorkBatchServiceに追加することで、WorkBatchによって提供されるワークフロー トランザクション のバッチ処理に参加できます。 永続ストア自体は、トランザクションのロールバック時にワークフロー情報が誤って永続化されないように、 IEnlistmentNotification インターフェイスを実装する必要があります。 詳細については、SaveCompletedContextActivity または SaveWorkflowInstanceStateを参照してください。
コンストラクター
| 名前 | 説明 |
|---|---|
| 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() |
古い.
派生クラスでオーバーライドされると、サービスを開始し、 State を Startingに変更します。 (継承元 WorkflowRuntimeService) |
| Stop() |
古い.
派生クラスでオーバーライドされると、サービスを停止し、 State を Stoppingに変更します。 (継承元 WorkflowRuntimeService) |
| ToString() |
古い.
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
| UnloadOnIdle(Activity) |
古い.
アイドル状態のときにワークフローをアンロードするかどうかを決定します。 |
| UnlockWorkflowInstanceState(Activity) |
古い.
派生クラスでオーバーライドされると、ワークフロー インスタンスの状態のロックが解除されます。 |