Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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
C# 加载工作流实例_C#_Asp.net_Workflow Foundation - Fatal编程技术网

C# 加载工作流实例

C# 加载工作流实例,c#,asp.net,workflow-foundation,C#,Asp.net,Workflow Foundation,假设我有一个web应用程序,在一个页面中我需要上传一个文档。然后将文档转换为其他内容,然后用户可以看到转换后的文档 我想要一个工作流,将有4个状态 刚出现的 上传 转换 转换 因此,现在用户进来创建一个文档记录并上传文件 此时,需要将他们带到一个仪表板,仪表板告诉他们文档正在转换。他们可能会注销,稍后再回来 转换文档后,将允许他们进入查看文档的下一步 我可以轻松创建一个具有这些状态的工作流,并根据文档记录上的标志执行所有状态检查和设置 我想我缺少的是,如果用户注销并返回,我如何获取上传文档的工作

假设我有一个web应用程序,在一个页面中我需要上传一个文档。然后将文档转换为其他内容,然后用户可以看到转换后的文档

我想要一个工作流,将有4个状态

刚出现的 上传 转换 转换 因此,现在用户进来创建一个文档记录并上传文件

此时,需要将他们带到一个仪表板,仪表板告诉他们文档正在转换。他们可能会注销,稍后再回来

转换文档后,将允许他们进入查看文档的下一步

我可以轻松创建一个具有这些状态的工作流,并根据文档记录上的标志执行所有状态检查和设置

我想我缺少的是,如果用户注销并返回,我如何获取上传文档的工作流并检查其在工作流中的状态

我只有这个

WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowProject1.Workflow1), parms);

instance.Start();
其中params是文档id。当我返回应用程序时,如何获取此文档的工作流实例并检查其当前步骤

任何简单WWF样本/示例站点的链接都将不胜感激

事实上有没有更好的方法


此外,加载工作流后,如何检查其当前步骤或活动?

其中一种方法可以如本文所述:

本质上,您可以将工作流状态持久化到数据库表中。持久化由工作流管理,web应用程序直接从数据库读取状态。这实际上是我更喜欢的更简单的方法,因为状态信息在工作流实例之外可用

另一种方法是使用持久化服务,例如将工作流状态持久化到数据库中。持久性是由持久性服务管理的,工作流不知道这一事实。您可以使用工作流实例的方法来获取已加载的状态并进行保存。然而,调用这些方法的所有粘合逻辑都将位于aspx页面中。我对这种方法的问题是,如果需要,您必须执行同步逻辑,并且为了读取状态信息,您必须将其加载到工作流实例中