2013-02-28 119 views
2

我有3個獨立的應用程序使用相同的持久工作流程。其中2個是網絡應用程序,第三個是贏得窗體應用程序,用於監視WF。 我目前使用我自己的查詢數據庫來檢查WF是否正在運行或由processID guid空閒。 有沒有一些本地的方式來檢查WF是否正在運行,空閒.....通過processID我用於關聯,不會鎖定工作流實例。如何檢查工作流是否正在運行(WF4)

+0

爲什麼你的方法不是最好的?我敢打賭,一種本地方式會做類似的事情。由於WF4的異步特性,沒有100%的防彈解決方案。您有多種方式來運行工作流程,因此,您有多種方式來檢查它是否正在運行。 – Joao 2013-02-28 10:55:46

+0

無論如何,請考慮[跟蹤參與者](http://msdn.microsoft.com/zh-cn/library/ee513993.aspx)。它被用作訂閱機制。訂閱工作流程事件並等待它告訴您其狀態。 – Joao 2013-02-28 10:57:25

回答

1

我認爲一個更好的方法是使用日誌,無論是自己的日誌在數據庫和指示狀態的儀表板,或從Windows或Windows服務器的內置系統監視器和性能計數器,這些將是任何IT環境中的標準方法。

+0

我也一樣,但它的問題它不是子彈prufe解決方案。我使用i.Load(procesID)來封裝某些東西,但它不能鎖定實例。 – 2013-02-28 08:26:51

+0

但是,您爲什麼要檢查過程?日誌會立即告訴您錯誤操作的結果,即使它掛起,也就是說您不再接收反饋,性能計數器與操作系統有界限,它們可以同時監視多個進程,但我不會對這樣的基礎設施感到擔憂。 – 2013-02-28 08:30:58

+0

我有6個州的ATM機,他們可能會也可能不會提供更多配置狀態,因爲持續的開發和升級將持續一年或兩年。在開始是好的,但現在檢查它的狀態代碼越來越大。正因爲如此,我需要一些本地的東西,比如當我正在ping vOrchestrators WF時,它會返回我的狀態,執行完成併發生故障。 – 2013-02-28 11:47:30

0

您可以提升相關密鑰,然後您可以在相關密鑰上查詢實例庫。 See here for an explanation.

+0

這就是問題所在,我想避免查詢,我已經在做這件事。我需要爲此構建解決方案。我在WF 4.5中發現了類似的東西 – 2013-02-28 08:47:15

相關問題