我有一个简单的业务工作流,有以下条件
是否有一种方法可以自动完成不同工作流程序集的版本控制任务?
发布于 2008-09-22 05:39:08
不同工作流程序集的版本控制并不是一个简单的任务,而且有许多复杂的问题。这里,您可以找到一系列的帖子,这些文章都是针对这一点的。
发布于 2008-09-22 08:44:27
您可以在自己的应用程序中重新宿主WF设计器,以让最终用户更改工作流。当您托管设计人员时,您几乎可以控制他们可以做什么。例如,您可以阻止它们删除或禁用活动,并且只允许它们在工作流的预定义区域中添加特定的新活动。最好的方法是将这些工作流保存为XOML文件并以XOML文件的形式启动它们。这确实意味着您不能向工作流本身添加代码,但您可以自由地定义从SequentialWorkflowActivity派生的工作流基类(或状态等效),并将其用作工作流基类。这允许您添加代码和属性。例如,您仍然可以添加一个CodeActivity,但是需要链接到基类中的代码。
工作流序列化(即所谓的脱水)与正在运行的工作流一起使用,以将它们持久化到磁盘。这使用标准的.NET二进制序列化,但由于工作流的长期运行性质,这可能是一个棘手的问题。但一旦你知道该找什么就没什么大不了的了。有关一系列博客文章的开始,请参见http://msmvps.com/blogs/theproblemsolver/archive/2008/09/10/versioning-long-running-workfows.aspx。
不确定是否需要它,但也有能力更改已经执行的工作流。这使用了WorkflowChanges对象。有关更多细节,请参见这里的http://wiki.windowsworkflowfoundation.eu/default.aspx/WF/RuntimeModificationOfWorkflows.html。
发布于 2008-10-12 05:13:31
下面是另一篇关于工作流版本控制的文章:
http://www.adefwebserver.com/DotNetNukeHELP/Workflow/VacationRequest3.htm
基本上,您可以在以下情况下对使用程序集的工作流进行版本:
https://stackoverflow.com/questions/114656
复制相似问题