[永続化の詳細設定] ダイアログ ボックス

[永続化の詳細設定] ダイアログ ボックスでは、SQL ワークフロー インスタンス ストアを使用する高度な永続化機能を構成できます。次に、このダイアログ ボックスの UI フィールドについて説明します。

ダイアログ ボックスのフィールド

フィールド

説明

インスタンスをエンコードする (GZip)

インスタンス状態情報を永続化ストアに保存する前に、GZip アルゴリズムを使用してこの情報を圧縮するかどうかを指定します。

完了後もインスタンスを保持する

インスタンスが完了した後もインスタンス状態情報を永続化データベースに保持するかどうかを指定します。

警告

完了後のインスタンスを保持すると、永続化データベースは急速に増大し、データベースのパフォーマンスに影響します。これらのレコードを定期的に削除するようにデータベース削除ポリシーを構成し、データベースのパフォーマンスがパフォーマンス ニーズに適合するレベルを保つようにしてください。

インスタンス ロック例外に対するアクション

サービス ホストでインスタンスをロックしようとしたが、インスタンスが現在他のホストによりロックされているため、InstanceLockedException を受け取ったときに行う操作を指定します。このフィールドで使用できるオプションは [なし]、[基本的再試行]、および [積極的再試行] です。既定値は [なし] です。次に、これら 3 つのオプションについて説明します。

  • [なし]。サービス ホストではインスタンスをロックしようとせず、呼び出し元に InstanceLockedException を渡します。

  • [基本的再試行]。サービス ホストでは指数関数的に遅延を増加してインスタンスのロックを再試行し、シーケンスの最後に呼び出し元に InstanceLockedException を渡します。

  • [積極的再試行]。サービス ホストは線形の再試行間隔でインスタンスのロックを再試行し、シーケンスの最後に呼び出し元に例外を渡します。

ホスト ロック更新間隔 (秒)

ロックが期限切れになる前に、ホストがインスタンスのロックを更新しなければならない間隔を指定します。指定した期間内にホストでロックが更新されない場合、インスタンスのロックは解除され、他のホストがそのインスタンスのロックを取得することがあります。

実行可能インスタンス検出間隔 (秒)

期間を指定します。この期間後、SQL ワークフロー インスタンス ストアでは検出タスクを実行し、前の検出サイクル後に永続化データベースにある実行可能またはアクティブ化可能なワークフロー インスタンスを検出します。SQL ワークフロー インスタンス ストアでは、永続化データベースにある実行可能またはアクティブ化可能なインスタンスを定期的にウェイクアップし検出する内部タスクを実行します。

このプロパティに設定する間隔を短くすると、ワークフロー インスタンスに関連付けられたタイマーの期限切れから、イベントの通知によるインスタンスの読み込みまでの時間が短縮されます。しかし、ホストの処理負荷も増加するため、タイマーやホストの持続的な失敗が少ないシナリオには適さないことがあります。プロパティの型は TimeSpan です。プロパティの値の形式は hh:mm:ss です。プロパティの最小値は 00:00:01 です。プロパティの既定値は 00:00:05 です。

関連する構成

[永続化の詳細設定] ダイアログ ボックスのフィールドは、構成ファイルの次の要素と属性に対応します。

<behaviors>
    <serviceBehaviors>
        <behavior name="TutorialServiceConfiguration">
            <sqlWorkflowInstanceStore connectionStringName="ApplicationServerWorkflowInstanceStoreConnectionString" hostLockRenewalPeriod="00:00:30" runnableInstancesDetectionPeriod="00:00:05" instanceEncodingOption="None" instanceCompletionAction="DeleteAll" instanceLockedExceptionAction="NoRetry" />
        </behavior>
   </serviceBehaviors>
</behaviors>

次の一覧に、このダイアログ ボックスのユーザー インターフェイス要素に関連付けられた XML 要素または属性を示します。

UI 要素 XML 要素または属性 コメント

インスタンスをエンコードする (GZip)

sqlWorkflowInstanceStore 要素の instanceEncodingOption 属性

[インスタンスをエンコードする (GZip)] チェック ボックスをオンにし、設定を適用すると、sqlWorkflowInstanceStore 要素に instanceEncodingOption 属性が追加され、属性値は GZip に設定されます。このチェック ボックスをオフにし、設定を適用すると、instanceEncodingOption 属性の値は None に設定されます。

完了後もインスタンスを保持する

sqlWorkflowInstanceStore 要素の instanceCompletionAction 属性

[完了後もインスタンスを保持する] チェック ボックスをオンにし、設定を適用すると、sqlWorkflowInstanceStore 要素に instanceCompletionAction 属性が追加され、属性値は DeleteNothing に設定されます。このチェック ボックスをオフにし、設定を適用すると、instanceCompletionAction 属性の値は DeleteAll に設定されます (既定値です)。

インスタンス ロック例外に対するアクション

sqlWorkflowInstanceStore 要素の instanceLockedExceptionAction 属性

[インスタンス ロック例外に対するアクション] 属性の値は、このフィールドに指定した値に設定されます。このフィールドに [なし] オプションを選択すると、値は NoRetry に設定されます。他のオプションの場合、このダイアログ ボックスのオプションと構成ファイルの値は同じです。

ホスト ロック更新間隔 (秒)

sqlWorkflowInstanceStore 要素の hostLockRenewalPeriod 属性

"ホスト ロック更新間隔 (秒)" フィールドの値を変更し、設定を適用すると、sqlWorkflowInstanceStore 要素の hostLockRenewalPeriod 属性の値はこのフィールドに指定した値に設定されます。

実行可能インスタンス検出間隔 (秒)

sqlWorkflowInstanceElement 要素の runnableInstancesDetectionPeriod 属性

"実行可能インスタンス検出間隔 (秒)" フィールドの値を変更し、設定を適用すると、sqlWorkflowInstanceStore 要素の runnableInstancesDetectionPeriodattribute 属性の値はこのフィールドに指定した値に設定されます。

  2011-12-05