2010-09-24 21 views
0

我對使用Windows Workflow相對比較陌生,但我們有一個要求,即所有當前活動的工作流都基於「全局事件」執行操作,而不是基於單個實例的事件。Windows工作流和全局事件

例如您可以有一個用於提交和跟蹤票據的工作流程,當支持服務檯回家時,所有活動工作流程都會向提交票據的人發送電子郵件,說他們的票據不會今天要看。

這樣做的最佳方法是什麼?

它是一種自定義活動或其他方法,用於枚舉所有活動工作流並將事件/排隊項目排入工作流隊列?

很明顯,從工作流程的角度來看,如果在辦公室上方的例子關閉的情況下有一個活動會被激發。

感激地收到了所有的輸入。

回答

0

這取決於您如何託管您的工作流程。使用工作流服務和WCF消息傳遞是更容易的選擇,並且將是我的偏好。

假設您使用啓用了持久性的工作流服務,您可以輕鬆地從商店獲取每個工作流實例的列表,以便您可以將WCF消息發送給它們。使用實例存儲中的活動書籤,您實際上可以查看該工作流程目前是否支持有問題的操作。

如果您使用自己的東西是一個更難的廣告,你將需要創建一個自定義活動與書籤來處理這個。但假設工作流可以從內存中卸載,您將需要一些外部代碼來重新加載工作流。

BTW工作流隊列是一個WF3功能,已被WF4中的書籤取代。

0

做到這一點的一種方法是讓託管Workflow Runtime的應用程序將工作項排入工作流隊列。所有需要響應這種刺激的活動都必須爲此隊列添加書籤。