WorkflowCommitWorkBatchService 類別

定義

警告

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

允許認可工作批次的自訂邏輯。

public ref class WorkflowCommitWorkBatchService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class WorkflowCommitWorkBatchService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowCommitWorkBatchService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type WorkflowCommitWorkBatchService = class
    inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowCommitWorkBatchService = class
    inherit WorkflowRuntimeService
Public MustInherit Class WorkflowCommitWorkBatchService
Inherits WorkflowRuntimeService
繼承
WorkflowCommitWorkBatchService
衍生
屬性

範例

下列範例示範繼承自 WorkflowCommitWorkBatchService 的類別。

//Implementation of the abstract WorkflowCommitWorkBatchService class
class DefaultCommitWorkBatchService : WorkflowCommitWorkBatchService
{
    protected override void CommitWorkBatch(CommitWorkBatchCallback commitWorkBatchCallback)
    {
        // Call base implementation
        try
        {
            base.CommitWorkBatch(commitWorkBatchCallback);
        }
        catch (Exception e)
        {
            // Report work batch commit failures
            Console.WriteLine("Work batch failed: " + e.Message.ToString());
            throw;
        }
    }
}
'Implementation of the abstract WorkflowCommitWorkBatchService class
Class DefaultCommitWorkBatchService
    Inherits WorkflowCommitWorkBatchService

    Protected Overrides Sub CommitWorkBatch(ByVal commitWorkBatchCallback As CommitWorkBatchCallback)
        ' Call base implementation
        Try
            MyBase.CommitWorkBatch(commitWorkBatchCallback)
        Catch e As Exception
            ' Report work batch commit failures
            Console.WriteLine("Work batch failed: " + e.Message.ToString())
            Throw
        End Try
    End Sub
End Class

備註

注意

此資料討論已被汰換的類型及命名空間。 如需詳細資訊,請參閱 Windows Workflow Foundation 4.5 中即將淘汰的類型

認可工作批次時,執行階段會呼叫 WorkflowCommitWorkBatchService,並提供它委派以呼叫執行實際的工作批次認可動作。 執行階段仍要負擔認可工作批次的主要責任,但允許 WorkflowCommitWorkBatchService 將本身插入自訂認可處理序的處理序中。

此處理序允許自訂錯誤處理邏輯。 如果 WorkflowCommitWorkBatchService 擁有交易,也就是 Transaction.Current 屬性傳回 null 的情況,將因此需要建立新的存在交易,允許呼叫委派超過一次,為每次呼叫建立新的交易。 這類情況最常見的例子有處理間歇性網路問題,或 SQL 叢集容錯移轉。 如果呼叫 WorkflowCommitWorkBatchService.CommitWorkBatchCallback 會擲回例外狀況,則 WorkflowCommitWorkBatchService 可攔截此例外狀況、開始新交易和再次呼叫委派。 如此可為工作流程執行個體的執行提供某種程度的恢復,否則可能導致工作流程終止。

建構函式

WorkflowCommitWorkBatchService()
已淘汰.

在衍生類別中實作時,初始化 WorkflowCommitWorkBatchService 類別的新執行個體。

屬性

Runtime
已淘汰.

取得此服務的 WorkflowRuntime

(繼承來源 WorkflowRuntimeService)
State
已淘汰.

取得 WorkflowRuntimeService 的狀態。

(繼承來源 WorkflowRuntimeService)

方法

CommitWorkBatch(WorkflowCommitWorkBatchService+CommitWorkBatchCallback)
已淘汰.

呼叫以認可工作批次。

Equals(Object)
已淘汰.

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

(繼承來源 Object)
GetHashCode()
已淘汰.

做為預設雜湊函式。

(繼承來源 Object)
GetType()
已淘汰.

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()
已淘汰.

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnStarted()
已淘汰.

在衍生類別中覆寫時,代表在工作流程執行階段引擎引發 Started 事件時將呼叫的方法。

(繼承來源 WorkflowRuntimeService)
OnStopped()
已淘汰.

在衍生類別中覆寫時,代表在工作流程執行階段引擎引發 Stopped 事件時將呼叫的方法。

(繼承來源 WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
已淘汰.

引發 ServicesExceptionNotHandled 事件。

(繼承來源 WorkflowRuntimeService)
Start()
已淘汰.

在衍生類別中覆寫時,啟動服務並將 State 變更為 Starting

(繼承來源 WorkflowRuntimeService)
Stop()
已淘汰.

在衍生類別中覆寫時,停止服務並將 State 變更為 Stopping

(繼承來源 WorkflowRuntimeService)
ToString()
已淘汰.

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

(繼承來源 Object)

適用於