ASP.NET 中托管的具有持久延迟活动的持久工作流程
情况:使用 WorkflowServiceHost
托管在 ASP.NET 应用程序中的工作流,并包含 持久延迟。该工作流当前位于延迟活动内并已保存到数据库中。
然后,运行 ASP.NET 应用程序的应用程序池将被回收(例如通过 web.config 更改),并且不再有对 ASP.NET 应用程序的 http 请求。现在是延迟活动应该完成并且应该执行工作流中的下一个活动的时间。
这是否意味着直到向 ASP.NET 应用程序发出任何请求后才会执行下一个活动,因为应用程序池已被回收?
The situation: a workflow hosted in ASP.NET application using WorkflowServiceHost
and contains durable delay. The workflow is currently inside the delay activity and was persisted into database.
Then the application pool, under which the ASP.NET application is running, goes to be recycled (e.g. by web.config change) and there are no more http requests to the ASP.NET application. And now is the time when delay activity should finish and next activity in the workflow should be executed.
Does it mean the next activity will not be executed until any request to the ASP.NET application because the app pool was recycled?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
WorkflowServiceHost 负责加载具有过期延迟活动的工作流。因此,您必须确保 WorkflowServiceHost 实际上已加载到内存中。
使用 AppFabric 使这变得更加容易,将服务配置为自动启动,AppFabricWorkflowManagementService 将确保它重新启动。
The WorkflowServiceHost is responsible for loading workflows with an expired delay activity. So you have to make sure the WorkflowServiceHost is actually loaded into memory.
Using the AppFabric makes this a lot easier, configure the service to autostart and AppFabricWorkflowManagementService will make sure it is restarted.