共用方式為


進階持續性設定進階持續性設定

您可以使用 [進階持續性設定] 對話方塊來設定使用「SQL 工作流程執行個體儲存區」之工作流程服務的進階持續性功能。下一節說明此對話方塊中的 UI 欄位。

對話方塊欄位

欄位

描述

將執行個體編碼 (GZip)

指定將執行個體狀態資訊儲存到持續性儲存區之前,是否使用 GZip 演算法來壓縮該資訊。

完成後保留執行個體。

指定當執行個體完成之後,是否在持續性資料庫中保留執行個體狀態資訊。

注意

在執行個體完成之後保留執行個體將導致持續性資料庫快速成長,而且會影響資料庫效能。您應該設定資料庫清除原則以定期刪除這些記錄,確保資料庫效能可維持在符合您的效能需求的等級。

發生執行個體鎖定例外狀況時的動作。

指定當服務主機收到 InstanceLockedException 時應採取的動作 (主機嘗試鎖定執行個體時,若執行個體目前正由另一個主機鎖定,即會收到此訊息)。此欄位的有效選項包括:[無]、[基本重試] 與 [主動重試]。預設值為 [無]。下列清單提供這三個選項的說明。

  • 。服務主機不會嘗試鎖定執行個體,而且會將 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)] 選項並套用設定時,系統會將 instanceEncodingOption 屬性新增至 sqlWorkflowInstanceStore 元素,並將其值設定為 GZip。取消選取此選項並套用設定時,系統會將 instanceEncodingOption 屬性的值設定為 None

完成後保留執行個體

sqlWorkflowInstanceStore 元素上的 instanceCompletionAction 屬性

選取 [完成後保留執行個體] 選項並套用設定時,系統會將 instanceCompletionAction 屬性新增至 sqlWorkflowInstanceStore 元素,並將其值設定為 DeleteNothing。取消選取此選項並套用設定時,系統會將 instanceCompletionAction 屬性的值設定為 DeleteAll (此為預設值)。

發生執行個體鎖定例外狀況時的動作

sqlWorkflowInstanceStore 元素上的 instanceLockedExceptionAction 屬性

[發生執行個體鎖定例外狀況時的動作] 屬性的值會設定為您為此欄位指定的值。若為此欄位選取 [無] 選項,則值會被設定為 NoRetry。對於其他選項,對話方塊與組態檔中的選項與值相同。

主機鎖定更新間隔

sqlWorkflowInstanceStore 元素上的 hostLockRenewalPeriod 屬性

當您變更 [主機鎖定更新間隔] 欄位的值並套用設定時,sqlWorkflowInstanceStore 元素的 hostLockRenewalPeriod 屬性值會設定為您為此欄位指定的值。

可執行的執行個體偵測間隔

sqlWorkflowInstanceElement 上的 runnableInstancesDetectionPeriod 屬性

當您變更 [可執行的執行個體偵測間隔] 欄位的值並套用設定時,sqlWorkflowInstanceStore 元素的 runnableInstancesDetectionPeriodattribute 屬性值會設定為您為此欄位指定的值。

  2011-12-05