我想使用Windows Workflow Foundation 4.5并通过web api触发工作流程。现在我的托管选项是什么,MS正在结束AppFabric支持?我应该使用Windows Workflow Foundation还是应该查看第三方解决方案?
这是内部部署,我没有能力使用azure。我已经完成了一些工作流程,看起来WWF并不难用,但目前还不清楚如何托管它。我可以在没有AppFabric的web api项目中托管吗?
我主要担心的是,如果IIS应用程序池使用WorkflowApplication或服务器崩溃进行回收,则可以恢复工作流。我没有使用WCF我计划在web api中使用WorkflowApplication。
有人能指出我在实施AppFabric负责的自定义功能方面的正确方向吗?恢复,记录等。
来自MS: 将IIS与AppFabric一起使用是工作流的首选主机。使用AppFabric的工作流的主机应用程序是Windows激活服务,它仅通过IIS删除对HTTP的依赖性
IIS 7.0会出于各种原因定期回收应用程序池。当应用程序池被回收时,IIS将停止接受对旧池的消息,并实例化新的应用程序池以接受新请求。如果工作流在发送响应后继续工作,则IIS 7.0将不会知道正在完成的工作,并且可能会回收主机应用程序池。如果发生这种情况,工作流将中止,跟踪服务将记录1004 - 带有空原因字段的WorkflowInstanceAborted消息。
如果使用持久性,则主机必须从上一个持久性点显式重新启动已中止的实例。
如果使用AppFabric,如果使用持久性,工作流管理服务最终将从上一个成功的持久性点恢复工作流。如果未使用持久性,并且工作流在请求/响应模式之外执行操作,则在工作流中止时数据将丢失。
答案 0 :(得分:0)