處於等待狀態的工作流程會耗用系統資源,因為它會不斷輪詢需要進行回應的物件。如果您知道工作流程可能要等待很長的時間才會收到所需的回應,則您可將長時間執行的工作流程元素新增至工作流程。

每個執行中工作流程都會耗用系統執行緒。當工作流程接觸到長時間執行的工作流程元素時,長時間執行的工作流程會將工作流程設定為被動狀態。長時間執行的工作流程元素接著會將工作流程資訊傳遞至單一執行緒,以輪詢系統中所有正在在伺服器中執行之長時間執行的工作流程元素。不是每個長時間執行的工作流程元素都會不斷嘗試從系統擷取資訊,而是長時間執行的工作流程元素在設定的持續期間會保持為被動,在此同時,長時間執行的工作流程執行緒會代表該元素來輪詢系統。

您可以使用下列其中一種方式設定等待的持續期間:

  • 設定封裝在 Date 物件中的計時器,其在達到某特定時間與日期之前將暫停工作流程。您透過在架構中包含等待計時器元素的方式,來實作以計時器為基礎之長時間執行的工作流程元素。

  • 定義封裝在 Trigger 物件中的觸發器事件,藉此在發生觸發器事件後重新啟動工作流程。您透過在架構中新增等待事件元素或使用者互動元素的方式,來實作以觸發器為基礎之長時間執行的工作流程元素。