【发布时间】:2010-09-22 23:59:27
【问题描述】:
我一直在尝试在我的 ASP.NET 应用程序中使用 WF(实际上,它是 ASP.NET MVC ......但事实上它是 MVC 而不是 WebForms 一点都不重要)。
现在,我可以运行 WF 并且它工作正常,等等,但它以异步方式启动,因此 WF 的任何结果(好 或 坏)都会丢失页面生命周期。
我发现了一个MSDN article,它说在 ASP.NET 应用程序中,我们需要
- 将
WorkflowRuntime放入应用程序状态 -
WorkflowRuntime实例添加了一个ManualWorkflowSchedulerService(不管是什么)。 - 在需要时使用此应用程序状态工作流实例。
这与我学会的做法不同:
- 使 WorkflowRuntime 成为静态对象,在需要时首先创建。
- 在您要运行的新工作流上使用此静态 WorkflowRuntime 实例。
那么...哪种方式更好?我们需要将其粘贴到应用程序中吗?两者有什么区别?
我知道这里实际上有两个问题...
- 应用程序状态与静态对象(使用 lock/null 或 double null checking)
- DefaultWorkFlowSchedulerService 与 ManualWorkFlowSchedulerService
干杯!
编辑:
- 第一个问题已回答here。
- 下面回答第二个问题。
【问题讨论】:
标签: asp.net workflow-foundation