SqlWorkflowInstanceStore 類別

定義

從持續性功能的抽象 InstanceStore 類別衍生,並提供實作以允許將執行個體狀態資訊儲存至 SQL Server 2005 或 SQL Server 2008 資料庫,以及從 SQL Server 2005 或 SQL Server 2008 資料庫載入執行個體狀態資訊。

public ref class SqlWorkflowInstanceStore sealed : System::Runtime::DurableInstancing::InstanceStore
public sealed class SqlWorkflowInstanceStore : System.Runtime.DurableInstancing.InstanceStore
type SqlWorkflowInstanceStore = class
    inherit InstanceStore
Public NotInheritable Class SqlWorkflowInstanceStore
Inherits InstanceStore
繼承
SqlWorkflowInstanceStore

備註

SqlWorkflowInstanceStore 會使用 NetDataContractSerializer 來序列化複雜型別,而要使用此執行個體存放區來保存之工作流程中所使用的所有型別必須使用 NetDataContractSerializer 來序列化。

建構函式

SqlWorkflowInstanceStore()

初始化 SqlWorkflowInstanceStore 類別的新執行個體。

SqlWorkflowInstanceStore(String)

使用 SqlWorkflowInstanceStore 參數,初始化 connectionString 類別的新執行個體。

屬性

ConnectionString

取得或設定連接字串,以及用來連接至基礎持續性資料庫的參數。

DefaultInstanceOwner

取得或設定預設執行個體擁有者。

(繼承來源 InstanceStore)
EnqueueRunCommands

取得或設定值,指出是否將 Run 命令加入佇列。 這個屬性會由 SQL 工作流程執行個體存放區於內部使用,不應用於您的應用程式。

HostLockRenewalPeriod

指定主機可針對工作流程服務執行個體上更新其鎖定的時間週期。

InstanceCompletionAction

指定工作流程執行個體完成後要執行的動作。 可能的值為 "DeleteNothing" 和 "DeleteAll"。 預設值為 "DeleteAll"。 如果屬性設定為 "DeleteNothing",持續性提供者會在工作流程執行個體完成後,保留持續性資料庫中所有的執行個體資料和中繼資料。 如果屬性設定為 "DeleteAll",持續性提供者會在工作流程執行個體完成後,刪除所有的執行個體資料和中繼資料。

InstanceEncodingOption

指定值,這個值會指出是否必須壓縮執行個體資料。

InstanceLockedExceptionAction

指定持續性提供者攔截 InstanceLockedException 時要執行的動作。

MaxConnectionRetries

取得或設定 SQL 連接重試的數目上限。 預設值為 4。

RunnableInstancesDetectionPeriod

指定時間週期,在此時間週期之後,SQL 工作流程執行個體存放區會在上一個偵測循環之後執行偵測工作,偵測持續性資料庫中任何可執行的或可啟動的工作流程執行個體。

方法

BeginExecute(InstanceHandle, InstancePersistenceCommand, TimeSpan, AsyncCallback, Object)

以非同步方式執行持續性命令,例如 LoadWorkflowCommandSaveWorkflowCommand

(繼承來源 InstanceStore)
BeginTryCommand(InstancePersistenceContext, InstancePersistenceCommand, TimeSpan, AsyncCallback, Object)

持續性提供者會實作這個方法,如此可決定是否能夠執行特定的持續性命令。 如果命令可以執行,則以非同步方式執行命令。

(繼承來源 InstanceStore)
BeginWaitForEvents(InstanceHandle, TimeSpan, AsyncCallback, Object)

開始非同步作業,以接聽由特定執行個體控制代碼的執行個體存放區引發的任何事件。

(繼承來源 InstanceStore)
CreateInstanceHandle()

建立執行個體控制代碼。

(繼承來源 InstanceStore)
CreateInstanceHandle(Guid)

建立執行個體控制代碼。 如果 DefaultInstanceOwner 已設定,此值會自動繫結為新控制代碼的執行個體擁有者。 傳遞為參數的執行個體識別碼會自動繫結為新控制代碼的執行個體。

(繼承來源 InstanceStore)
CreateInstanceHandle(InstanceOwner)

建立執行個體控制代碼。 如果傳遞為參數的執行個體擁有者不是 Null,則此值會自動繫結為新控制代碼的執行個體擁有者。 (否則,將不會繫結程序任何執行個體擁有者,即使 DefaultInstanceOwner 已設定)。

(繼承來源 InstanceStore)
CreateInstanceHandle(InstanceOwner, Guid)

建立執行個體控制代碼。 如果傳遞為參數的執行個體擁有者不是 Null,則此值會自動繫結為新控制代碼的執行個體擁有者。 (否則,即使已設定 DefaultInstanceOwner,也不會繫結任何執行個體擁有者。) 會自動繫結當做參數傳遞的執行個體識別碼,作為新控制代碼的執行個體。

(繼承來源 InstanceStore)
EndExecute(IAsyncResult)

結束非同步作業。

(繼承來源 InstanceStore)
EndTryCommand(IAsyncResult)

結束非同步作業。

(繼承來源 InstanceStore)
EndWaitForEvents(IAsyncResult)

結束由 BeginWaitForEvents(InstanceHandle, TimeSpan, AsyncCallback, Object) 方法啟始的非同步作業。

(繼承來源 InstanceStore)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Execute(InstanceHandle, InstancePersistenceCommand, TimeSpan)

以同步方式執行持續性命令。 持續性命令的範例包含:LoadWorkflowCommandSaveWorkflowCommand

(繼承來源 InstanceStore)
GetEvents(InstanceOwner)

取得繫結至 InstanceOwner 物件的所有信號事件。

(繼承來源 InstanceStore)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetInstanceOwners()

取得每一個已繫結至有效執行個體控制代碼、或尚未由記憶體回收的 InstanceOwner 物件。

(繼承來源 InstanceStore)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnFreeInstanceHandle(InstanceHandle, Object)

釋放執行個體控制代碼時叫用。

(繼承來源 InstanceStore)
OnNewInstanceHandle(InstanceHandle)

新執行個體控制代碼建立時叫用。

(繼承來源 InstanceStore)
Promote(String, IEnumerable<XName>, IEnumerable<XName>)

將指定的屬性與工作流程執行個體產生關聯,才能根據這些屬性的特定值,查詢執行個體。 這些可以用在外部查詢的屬性可以屬於簡單型別 (例如:Int64、String 等等),或是屬於序列化的二進位型別 (byte[])。 二進位屬性通常會用來儲存追蹤資料。

ResetEvent(InstancePersistenceEvent, InstanceOwner)

重設信號事件,並從執行個體擁有者維護的信號事件清單中移除事件。

(繼承來源 InstanceStore)
SignalEvent(InstancePersistenceEvent, InstanceOwner)

執行個體存放區會叫用這個方法以對事件發出信號。 訂閱這個持續性事件的工作流程主機會收到信號,並執行適當的動作。

(繼承來源 InstanceStore)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TryCommand(InstancePersistenceContext, InstancePersistenceCommand, TimeSpan)

持續性提供者會實作這個方法,如此可決定是否可以執行特定的持續性命令,以及是否能夠以非同步方式執行可執行的命令。

(繼承來源 InstanceStore)
WaitForEvents(InstanceHandle, TimeSpan)

工作流程主機通常會叫用這個方法,等候事件收到信號。

(繼承來源 InstanceStore)

適用於