0

我有一个非常大的工作流,它使用框架 4。一些工作流可以在系统中保留长达 2 年,每当我更新工作流时,所有现有实例都将不再工作。

我已经看到一些使用“路由”方法的解决方法,系统中有 2 个不同版本的 WF,它会在执行时路由到正确的 WF。但是我不能真正使用这种方法,因为我需要所有现有实例才能使用更新后的新版本的工作流。

因此,我找到了解决它的动态更新方法,但我无法让它工作。有人在某个地方有任何教程吗?我看过一些例子,但它们似乎是 .NET 框架 2 或 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);
        }
    }
}

但是这条线: new WorkflowChanges(this); 给我一个错误,因为 'this' 不是 System.Workflow.ComponentModel.Activity 对象,我不确定要传入什么..

不知道是否有人能给我一些启示,或者你有一些我可以遵循的工作样本。

非常感谢!!!

4

1 回答 1

0

这行不通。WorkflowChanges 类型和它所需的 System.Workflow.ComponentModel.Activity 是 WF3 的一部分,而不是 WF4。

使用 WF4,您将不得不等待 .NET 4.5 获得类似的功能。

于 2012-06-15T07:49:22.353 回答