工作流4.0使用动态更改(System.Workflow.ComponentModel.WorkflowChanges)对WF4进行版本控制
我有一个非常大的工作流,它使用框架4。 某些工作流可以在系统中保留长达2年,每当我更新工作流时,所有现有实例都将不再工作 我见过一些使用“路由”方法的变通方法,其中系统中有两个不同版本的WF,它将在执行时路由到正确的WF。但是,我无法真正使用此方法,因为我需要所有现有实例来使用更新后的新版本的工作流 因此,我找到了动态更新的方法来解决它,但我无法让它工作。 有人在什么地方有教程吗?我见过一些例子,但它们似乎是.NETFramework2或3 目前,我已经创建了一个名为TestClass.cs的新活动类 这是代码工作流4.0使用动态更改(System.Workflow.ComponentModel.WorkflowChanges)对WF4进行版本控制,workflow,versioning,workflow-foundation-4,workflow-activity,Workflow,Versioning,Workflow Foundation 4,Workflow Activity,我有一个非常大的工作流,它使用框架4。 某些工作流可以在系统中保留长达2年,每当我更新工作流时,所有现有实例都将不再工作 我见过一些使用“路由”方法的变通方法,其中系统中有两个不同版本的WF,它将在执行时路由到正确的WF。但是,我无法真正使用此方法,因为我需要所有现有实例来使用更新后的新版本的工作流 因此,我找到了动态更新的方法来解决它,但我无法让它工作。 有人在什么地方有教程吗?我见过一些例子,但它们似乎是.NETFramework2或3 目前,我已经创建了一个名为TestClass.cs的新
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities;
using SPABLL;
using System.Workflow.ComponentModel;
namespace SPAWorkflow.Activities.DynamicUpdate
{
public sealed class TestClass : NativeActivity
{
protected override void Execute(NativeActivityContext context)
{
WorkflowChanges wc = new WorkflowChanges(this);
}
}
}
但行:新的工作流程改变(这);
正在给我一个错误,因为“this”不是System.Workflow.ComponentModel.Activity对象,我不确定要传入什么
我不确定是否有人能告诉我一些信息,或者你有一些我可以跟踪的工作样本
非常感谢 这行不通。WorkflowChanges类型及其所需的System.Workflow.ComponentModel.Activity是WF3而不是WF4的一部分
使用WF4时,您必须等待.NET 4.5获得类似的功能。感谢Maurice的回复,因此.NET 4中目前没有进行动态更新的方法。。?或者以其他方式实现它..?不,无法将现有Workfow状态更新为新定义。您可以使用您提到的路由器进行版本管理,但这是一个手动选项,仅适用于新实例。