1

この厄介な行動を制御することは可能ですか?ループ(While)アクティビティ内で、作成したステートフルアクティビティ(実行ごとにインデックスをインクリメントするアクティビティ)をexecute()しようとしています。WFエンジンは、反復ごとにアクティビティのクローンを作成しています。クローンは、最新のクローンアクティビティではなく、テンプレートアクティビティから作成されるため、インデックスプロパティがリセットされます。私の目標は、whileアクティビティを実行し、その後、自分のアクティビティのインデックスを出力するPrintActivtyを呼び出すことです。汚い方法でテンプレートを更新しようとしましたが、最初のレベルのネストでは機能しますが、内部で実行しようとすると、機能しません。

ps-アクティビティのExecute()からテンプレートを取得しています:

   var template = this.WFActivity.GetActivityByName(this.QualifiedName);

WFActivityは、WFルートアクティビティを指すように設定されたプロパティです。

4

1 に答える 1

1

アクティビティの複製は、アクティビティの実行方法に固有の部分であるため、無効にすることはできません。

これを回避するには、アクティビティで依存関係プロパティを使用してインデックス値を格納します。ワークフローでは、インデックス プロパティを、ワークフロー自体のように、より高いレベルのプロパティまたはフィールドにバインドできます。値は、アクティビティの複製されたコピーではなく、そこに格納されます。

于 2009-10-03T20:06:20.177 に答える