我一直在尝试在我的 ASP.NET 应用程序中使用 WF(实际上,它是 ASP.NET MVC ......但它是 MVC 而不是 WebForms 的事实根本不重要)。
现在,我可以运行 WF 并且它工作正常,等等,但它以异步方式启动,因此 WF 的任何结果(好或坏)都会丢失页面生命周期。
我发现一篇MSDN 文章说在 ASP.NET 应用程序中,我们需要
- 放入
WorkflowRuntime
Application状态 - 该
WorkflowRuntime
实例已ManualWorkflowSchedulerService
添加到它(无论是什么)。 - 需要时使用此应用程序状态工作流实例。
这与我学习的方式不同:
- 使 WorkflowRuntime 成为静态对象,该对象在需要时首先创建。
- 在您要运行的新工作流上使用此静态 WorkflowRuntime 实例。
那么......哪种方式更好?我们需要将其粘贴到应用程序中吗?两者有什么区别?
我知道这里实际上有两个问题......
- 应用程序状态与静态对象(使用锁/空或双空检查)
- DefaultWorkFlowSchedulerService与ManualWorkFlowSchedulerService
干杯!
编辑:
- 第一个问题在这里回答。
- 下面回答第二个问题。