我有一個Web應用程序,我將工作流功能添加到使用Windows Workflow Foundation。我的解決方案基於K. Scott Allen在OdeToCode上的Orders Workflow示例。在開始時,我沒有意識到警告的重要性,「如果您使用Delay活動併爲手動調度服務配置活動計時器,這些事件將發生在與HTTP請求無關的後臺線程上」。我現在需要使用延遲活動,而且不像他的解決方案架構那樣工作。有沒有人遇到過這個問題,並找到了一個很好的解決方案?這個例子與許多地方有關,但我還沒有看到任何人遇到過這個問題,這對我來說似乎有點阻礙。如何在基於ASP.Net網絡的工作流程中使用WF DelayActivity
編輯:問題是來自工作流程的結果通過HttpContext返回到Web應用程序。我正在使用帶有useActiveTimers的ManualWorkflowSchedulerService,並且這適用於大多數情況,因爲工作流事件是從Web應用程序觸發的,並且當返回工作流結果並且Web應用程序可以繼續處理時,HttpContext仍然存在。當使用延遲活動時,處理髮生在後臺線程上,並且當它嘗試將結果返回給Web應用程序時,沒有有效的HttpContext(因爲沒有Http請求),所以進一步處理失敗。也就是說,webapp正在嘗試處理工作流程結果,但沒有http請求。
我想我需要在工作流程內完成所有的延遲活動處理,而不是交給網絡應用程序。
乾杯。
你遇到的確切問題是什麼? – 2009-09-16 07:54:45