SqlWorkflowPersistenceService クラス

定義

注意事項

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

SQL データベースを使用してワークフロー状態情報を格納する永続性サービスを表します。

public ref class SqlWorkflowPersistenceService : System::Workflow::Runtime::Hosting::WorkflowPersistenceService, System::Workflow::Runtime::IPendingWork
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
Public Class SqlWorkflowPersistenceService
Inherits WorkflowPersistenceService
Implements IPendingWork
継承
属性
実装

注釈

注意

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

SqlWorkflowPersistenceService クラスは、完全に機能する永続性サービスを表します。 このそのサービスをそのまま使用して、ワークフロー ランタイム エンジンから要求されたときに、ワークフロー インスタンスについてのワークフロー状態情報を永続化および取得できます。

SqlWorkflowPersistenceService は、WorkflowCommitWorkBatchService の提供するワークフローのトランザクション バッチ機能に参加します。 つまり、このサービスは、SQL データベースへの書き込み保留を表すオブジェクトを WorkBatch に追加し、IPendingWork インターフェイスを実装します。

SqlWorkflowPersistenceService は、ワークフロー インスタンスのロックをサポートします。 この機能は、いくつかのワークフロー ランタイムが同じデータベースを共有するときに使用されます。 ワークフロー インスタンスがワークフロー ランタイムによって使用されているときは、そのワークフロー インスタンスがロックされていることをマークするために、SQL データベース テーブルの 1 つの列が使用されます。 SqlWorkflowPersistenceService は、別のランタイムによって "使用中" とマークされたワークフロー インスタンスを読み込みません。 こうしたロックが解放されるのは通常、ワークフロー インスタンスが永続化されたとき、たとえばワークフロー インスタンスがアイドル状態になったとき、あるいは完了または終了したときです。 また、非アクティブ期間の後にロックを自動的に解放することもできます。 この非アクティブ期間は、SqlWorkflowPersistenceService クラスのコンストラクターを使用して設定できます。 構成ファイルを介して設定することもできます。

永続化サービス全般の詳細については、 クラスを WorkflowPersistenceService 参照してください。

たとえば DelayActivity を持つワークフロー インスタンスは、タイマーを含むことができます。 タイマーを含むワークフローの場合、SqlWorkflowPersistenceService は、ワークフローの次のタイマーが切れる時刻を記録します。 SqlWorkflowPersistenceService は定期的にデータベースをポーリングして、タイマーが切れたワークフローを探します。 ポーリング間隔の頻度は、SqlWorkflowPersistenceService コンストラクターまたは構成ファイルを使用して設定できます。

注意

ワークフロー アプリケーションで SqlTrackingServiceSqlWorkflowPersistenceService の両方を使用する場合は、永続化と追跡に 1 つのデータベースを使用することをお勧めします。

コンストラクター

SqlWorkflowPersistenceService(NameValueCollection)
古い.

指定されたパラメーターを使用して、SqlWorkflowPersistenceService クラスの新しいインスタンスを初期化します。

SqlWorkflowPersistenceService(String)
古い.

データベース接続文字列を使用して、SqlWorkflowPersistenceService クラスの新しいインスタンスを初期化します。

SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan)
古い.

データベース接続文字列と他のパラメーターを使用して、SqlWorkflowPersistenceService クラスの新しいインスタンスを初期化します。

プロパティ

EnableRetries
古い.

SqlWorkflowPersistenceService が作業バッチのコミットを再試行するかどうかを指定する値を取得または設定します。

LoadingInterval
古い.

読み込み間隔の長さを取得します。

Runtime
古い.

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

(継承元 WorkflowRuntimeService)
ServiceInstanceId
古い.

サービス インスタンス識別子を取得します。

State
古い.

WorkflowRuntimeService の状態を取得します。

(継承元 WorkflowRuntimeService)

メソッド

Equals(Object)
古い.

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

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

永続化されたすべてのワークフローのインスタンスの説明を取得します。

GetHashCode()
古い.

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

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

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

(継承元 Object)
LoadCompletedContextActivity(Guid, Activity)
古い.

指定した完了スコープをデータベースから取得します。

LoadExpiredTimerWorkflowIds()
古い.

タイマーが切れたワークフローの ID のリストを取得します。

LoadWorkflowInstanceState(Guid)
古い.

指定したワークフロー インスタンス状態をデータベースから取得します。

MemberwiseClone()
古い.

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

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

新しいタイマーを開始し、実行中のワークフロー インスタンスを回復します。

OnStopped()
古い.

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

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

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

(継承元 WorkflowRuntimeService)
SaveCompletedContextActivity(Activity)
古い.

指定した完了スコープの状態を保存します。

SaveWorkflowInstanceState(Activity, Boolean)
古い.

指定したワークフロー インスタンス状態を保存します。

Start()
古い.

SqlWorkflowPersistenceService を開始します。

Stop()
古い.

サービスとタイマーを停止します。

ToString()
古い.

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

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

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

UnlockWorkflowInstanceState(Activity)
古い.

指定したワークフロー インスタンス状態へのアクセスのロックを解除します。

明示的なインターフェイスの実装

IPendingWork.Commit(Transaction, ICollection)
古い.

シリアル化された状態オブジェクトの ICollection をデータベースに書き込みます。

IPendingWork.Complete(Boolean, ICollection)
古い.

作業バッチを完了し、すべてのリソースを解放します。

IPendingWork.MustCommit(ICollection)
古い.

シリアル化された状態オブジェクトのコレクションをデータベースに書き込む必要があるかどうかを示す値を返します。

適用対象