我有一个简单的业务工作流程,具有以下条件
有没有办法自动化版本化不同工作流程程序集的任务?
答案 0 :(得分:3)
不同工作流程程序集的版本控制并非易事,而且有很多复杂因素。 Here你可以找到一系列与此完全相符的帖子。
答案 1 :(得分:2)
您可以在自己的应用程序中重新托管WF设计器,以便让最终用户更改工作流程。当您接待设计师时,您几乎可以控制他们可以做什么。例如,您可以阻止它们删除或禁用活动,并且只允许它们在工作流的预定义区域中添加特定的新活动。最好的方法是将这些工作流保存为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。
答案 2 :(得分:0)
以下是另一篇关于工作流版本控制的文章:
http://www.adefwebserver.com/DotNetNukeHELP/Workflow/VacationRequest3.htm
基本上,您可以在以下情况下对使用程序集的工作流进行版本管理: