0

非常に大きなワークフローがあり、フレームワーク 4 を使用しています。一部のワークフローは、最大 2 年間システムにとどまる可能性があり、ワークフローを更新するたびに、既存のすべてのインスタンスが機能しなくなります。

システムに 2 つの異なるバージョンの WF があり、実行時に正しい WF にルーティングされる「ルーティング」メソッドを使用したいくつかの回避策を見てきました。ただし、更新された新しいバージョンのワークフローを使用するには既存のすべてのインスタンスが必要なため、この方法は実際には使用できませんでした。

したがって、それを回避する動的更新方法を見つけましたが、機能させることができませんでした。誰かがどこかにチュートリアルを持っていますか? いくつか例を見たことがありますが、.NET Framework 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); 「これ」は System.Workflow.ComponentModel.Activity オブジェクトではないため、エラーが発生し、何を渡せばよいかわからない..

誰かが私に光を当てることができるかどうか、または私が従うことができるいくつかの実用的なサンプルがあるかどうかはわかりません.

どうもありがとう!!!

4

1 に答える 1

0

これは機能しません。必要なWorkflowChangesタイプとSystem.Workflow.ComponentModel.Activityは、WF4ではなくWF3の一部です。

WF4では、.NET4.5が同様の機能を取得するまで待つ必要があります。

于 2012-06-15T07:49:22.353 に答える