**更新:我发现如果你在重新启动WF之后触发它,它将完成当前(进行中)WF。这是预期的功能吗?我认为一旦机器启动并运行就会自动恢复检查,我还没有在Microsoft文档中看到它 - 谢谢! **
我有WF(WF4)触发,持续和完成但除了我重新启动虚拟机时,我正在运行它们;这是为了模拟服务器故障。重新启动后,所有当前运行的WF都处于“正在进行中”状态,并且“恢复”选项在AppFabric IIS中显示为灰色。我在这里找到了一篇与我的问题非常相似的文章,但在完成他们的解决方案后,我没有进一步前进:“WF4 Workflow under AppFabric not resuming properly after IISreset”
更多信息:
我有2个申请;一个是用于激活工作流的Web UI,另一个是用于IIS中的AppFabric监视的服务。我已经完成了“管理WCF和WF服务配置”并为Persistence设置了默认的连接字符串 - 确保它仍然存在。还要确保在闲置时坚持勾选卸载复选框(每60秒);这已在IIS的树节点中的服务器级别和应用程序级别完成。
当我不重新启动时,WF将按预期持续,恢复和完成,只有在我重新启动VM时才会如此。工作流本身并不特别。它只是从UI接收数据(延迟(以分钟为单位)的整数),写入文本文件以确认WF正在运行,然后通过一般延迟活动(TimeSpan.FromMinutes(整数);)来延迟完成写另一个文本文件以确认它已完成。我已经进入WF实例但只能终止,暂停或删除实例。
任何人有想法或想法?
由于
答案 0 :(得分:1)
经过大量研究后,我发现了为什么它没有起作用。我所指的最初的帖子对信息有好处,但实际上太旧了,已经过时了。请参阅MSDN网站上的这篇文章:
http://msdn.microsoft.com/en-us/library/ee677285.aspx
基本上,我在IIS中将我的所有网站和服务设置为“网站”。当你转到WCF& WF配置设置,其中不包含“自动启动”选项。您必须要做的是将服务设置为IIS中的网站下的“应用程序”。设置完毕后,返回WCF和WF配置,然后您会在左侧的列表中看到“自动启动”选项。默认值为“已禁用”,只需“启用”此项并单击“应用” - 它将需要刷新服务,然后您就可以开始使用了。
此外,您的web.config中的端点网址将需要更新,例如localhost:8099 / Service1.xamlx成为localhost:8099 / ServiceApplication / Service1.xamlx