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
継承
属性
実装

注釈

Note

この資料では、古い型と名前空間について説明します。 詳細については、「Windows Workflow Foundation 4.5 のDeprecated 型」を参照してください。

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

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

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

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

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

Note

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

コンストラクター

名前 説明
SqlWorkflowPersistenceService(NameValueCollection)
古い.

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

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

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

SqlWorkflowPersistenceService(String)
古い.

データベース 接続文字列を使用して、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)
古い.

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

適用対象