Привязка параметров к экземпляру рабочего процесса Windows и игнорирование неиспользуемых - PullRequest
0 голосов
/ 21 марта 2009

У меня есть набор параметров именованных значений в Dictionary<string, object>, которые я хочу передать в различные рабочие процессы. Суть в том, что каждому рабочему процессу потребуется только подмножество свойств в словаре, и я заранее не знаю, какому рабочему процессу нужны какие свойства.

Проблема в том, что когда я вызываю WorkflowRuntime.CreateWorkflow со словарем для привязки, происходит сбой:

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

Я знаю, что это значит. Свойство в рабочем процессе не определено, потому что этому конкретному рабочему процессу не нужно это конкретное свойство (другие рабочие процессы могут).

Есть ли способ связать словарь со свойствами рабочего процесса и со свойствами IGNORE, которые не определены в рабочем процессе?

1 Ответ

1 голос
/ 26 мая 2009

Почему бы вам не передать свой словарь в экземпляры рабочего процесса? Тогда ваши определения рабочего процесса просто должны иметь свойство для этого словаря.

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);

Таким образом, ваши рабочие процессы просто получают интересующие элементы словаря из словаря.

...