Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows工作流基础4选择包含延迟活动的活动_Windows_Workflow Foundation 4_Delay - Fatal编程技术网

Windows工作流基础4选择包含延迟活动的活动

Windows工作流基础4选择包含延迟活动的活动,windows,workflow-foundation-4,delay,Windows,Workflow Foundation 4,Delay,我正在与VisualStudio2010的Beta 2合作,以获得对WF4的一些高级理解。我创建了一个工作流,该工作流包含在If活动中的“拾取”活动。在Pick活动中,我有两个触发器,一个包含一个时间跨度为10秒的延迟集,另一个触发器有一个书签供经理批准。如果经理在分配的时间内没有批准,我尝试使用延迟将“state”变量设置为“Expired”。这与Matt Milner在他的帖子中所做的非常相似,只是他使用了DoWhile活动,而我需要使用我在这里描述的If活动。我还使用持久性,并从ASP.N

我正在与VisualStudio2010的Beta 2合作,以获得对WF4的一些高级理解。我创建了一个工作流,该工作流包含在If活动中的“拾取”活动。在Pick活动中,我有两个触发器,一个包含一个时间跨度为10秒的延迟集,另一个触发器有一个书签供经理批准。如果经理在分配的时间内没有批准,我尝试使用延迟将“state”变量设置为“Expired”。这与Matt Milner在他的帖子中所做的非常相似,只是他使用了DoWhile活动,而我需要使用我在这里描述的If活动。我还使用持久性,并从ASP.Net应用程序托管工作流。我想知道我看到的问题是否是由于internet浏览器没有在内存中保持工作流运行而导致的,并且在延迟完成时无法重新启动工作流

如果使用WorkflowServiceHost或XAMLX托管工作流,则需要配置WorkflowManagementService以重新加载和重新启动工作流。如果您正在使用workflow应用程序,则负责在持久化工作流后重新加载该工作流


但正如Chris所说:更多关于实际出错的信息可能会有所帮助。

您看到的问题是什么?我有一个包含两个触发器的选择,其中一个触发器有延迟,一个操作只有一个赋值,该赋值将名为“state”的字符串变量的值设置为“Expired”。另一个触发器中有一个书签,其中包含一些代码,用于在书签恢复时处理批准。书签工作正常,只要我在延迟超时之前恢复它。问题是,延迟期过后,状态设置为“Expired”后,我认为工作流应该完成并从持久性存储中删除,但它不会被删除。当BookmarkWait和delay分支空闲时,您的工作流可以持久化,对吗?我正在使用workflow应用程序。我们有一个类似的.NET3.5工作流,它有一个延迟14天的“过期”事件处理程序。14天后,事件处理程序将自动为我们调用,过期事件处理程序中的代码将运行,而无需我们在宿主应用程序中重新加载工作流。在.Net 4.0工作流中,当使用带有书签和延迟的Pick活动类似于事件处理程序来模拟状态机工作流时,这种情况是否发生了变化?好的,谢谢!您知道使用WorkflowServiceHost有什么好的示例或教程吗?我开始考虑使用它,但我很难理解它。从工作流服务应用程序开始。XAMLX文件(注意额外的X)使用WorkflowServiceHost托管在IIS/Casini中。