0

Dictionary<string, object>には、さまざまなワークフローに渡したい名前付き値パラメーターがたくさんあります。問題は、各ワークフローに必要なのはディクショナリ内のプロパティのサブセットのみであり、どのワークフローにどのプロパティが必要かが事前にわからないことです。

問題は、バインドする辞書を使用してWorkflowRuntime.CreateWorkflowを呼び出すと、次のように失敗することです。

The activity '<workflow name>' has no public writable property named '<property name>'

私はこれが何を意味するのか知っています。この特定のワークフローはその特定のプロパティを必要としないため、ワークフローのプロパティは定義されていません(他のワークフローの場合もあります)。

辞書をワークフロープロパティにバインドし、ワークフローで定義されていないプロパティを無視する方法はありますか?

4

1 に答える 1

1

辞書をワークフロー インスタンスに渡してみませんか? ワークフロー定義には、そのディクショナリのプロパティが必要です。

var inputs = Dictionary<string, YOUR_CUSTOM_TYPE>();
// ...
// fill your dictionary according to the context
// ...
var inputParams = new Dictionary<string, object>();
inputParams["WF_PROP_NAME"] = inputs;
var wfInstance = wfRuntime.CreateWorkflow(WF_TYPE, inputParams);

このようにして、ワークフローは辞書から目的の辞書項目を取得するだけです。

于 2009-05-26T07:43:48.413 に答える