2010-04-07 85 views
1

我有一個工作流程服務,它運行並執行許多不同的操作(如Web服務調用)。工作流程基礎4.0消息關聯和錯誤報告

如果其中一個操作失敗,我會調用錯誤報告Web服務來通知單獨的系統我的工作流操作之一失敗。由於錯誤可能類似於Web服務停機,我將循環並重試此操作,直到其運行。

儘管我傳遞給此Web服務的數據出錯並需要更改,但可能會有時間。所以我需要能夠掛鉤到正在運行(但延遲)的工作流並更改本地工作流變量,然後重新運行該操作。

我已經看到了工作流程4.0中的消息關聯來實現這個目標,但是由於延遲活動在我的正在運行的工作流實例中處於活動狀態,所以任何第二個服務調用都不會執行任何操作(就像延遲活動阻止了其他任何請求)。

我試着將'CanCreateInstance'設置爲true和false,但它沒有幫助。

謝謝!

回答

0

不知道這是否是你的問題的答案,但它可能只是。如果您正在使用工作流實例存儲和屬性升級,則可以選擇在下次加載工作流時更改實例存儲中的屬性。

+0

感謝Maurice(這並不完全是我之後的樣子) - 我想我應該問這個問題:「有沒有人知道任何關於工作流4中消息關聯的好文章?」。我無法正確處理它。我已閱讀您的問題解決者文章,但它僅是一個代碼示例,並未使用相同的本地工作流程變量處理2個服務調用。 – Lygpt 2010-04-09 08:24:46

+1

關於消息關聯的更多博客帖子在我的待辦事項列表中。在我這樣做之前等待RTM位的種類,但請繼續關注。 – Maurice 2010-04-09 14:43:10

1

您需要將Delay活動放入並行容器中,並且還需要接收任務。這意味着它將在等待循環處理時監聽請求。

有關消息關聯如何工作的示例,我發現Tailspin Travel示例非常有用。在「等待確認」框中查看「接收批准」任務,瞭解如何將請求連接在一起。

+0

平行容器 - 天才! – bigtv 2011-10-05 07:21:54