Сравнить свойства объекта в Windows Workflow Foundation? - PullRequest
0 голосов
/ 22 мая 2009

Мы начинаем довольно сложный новый проект на работе, и нам нужен какой-то механизм правил для принятия решений путем сравнения значений двух объектов. Вот простой сценарий:

Входит учетная запись, и в зависимости от ее свойств (баланс, оплата и т. Д.) Она может вписываться в один или несколько различных планов. Каждый план будет определять определенный набор атрибутов, количество и значение которых не будут известны до времени выполнения. Нам нужен способ сопоставить свойства учетной записи со свойствами плана, чтобы увидеть, соответствует ли учетная запись каждому конкретному плану.

Я подумал, что очевидным выбором здесь будет использование правил Windows Workflow. Я совершенно новичок в Workflow. Возможен ли мой сценарий с использованием только API-интерфейсов Workflow?

Я даже иду по правильному пути здесь?

Ответы [ 2 ]

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

Да, вы можете использовать WF . Вам потребуется написать интерфейс, определяющий события, которые ваше приложение будет использовать для взаимодействия с рабочим процессом (от хост-приложения до рабочего процесса) и методы, которые рабочий процесс будет вызывать для взаимодействия с вашим приложением (от рабочего процесса к хост-приложению).

Вы можете написать свой класс аргумента события (наследуя ExternalDataEventArgs , который содержит объект Account. Когда приходит учетная запись, вы создадите событие рабочего процесса и передадите объект аргумента события, содержащий account. может сравнивать его свойства со значениями из правил.

PS: - Я тоже новичок в рабочем процессе. Еще не погрузились в вещи правила , но это можно сделать довольно легко, как только вы поймете фонды WF. Я прочитал книгу wrox и изучил примеры кода / учебные пособия из MSDN.

0 голосов
/ 22 июня 2009

Ваша проблема звучит так, будто ей нужен какой-то механизм правил, но я не уверен, почему вы предполагаете, что WF будет лучшим для использования - если вы уже не делаете что-то конкретно с рабочим процессом. Если это не так, возможно, вам также следует задать несколько более общих вопросов, таких как «что такое простой механизм правил для интеграции с языком X или технологией X?»

...