Рабочие процессы Windows и глобальные события - PullRequest
0 голосов
/ 24 сентября 2010

Я относительно новичок в использовании рабочего процесса Windows, но у нас есть требование, согласно которому все текущие активные рабочие процессы выполняют действие, основанное на «глобальном событии», а не на событии, основанном на одном экземпляре.

, например, выможет иметь рабочий процесс, который используется для отправки и отслеживания билетов, при этом сценарий, когда служба поддержки возвращается домой, все активные рабочие процессы генерируют электронное письмо человеку, который отправил билет, говоря, что его билет не будетпосмотрел сегодня.

Каков наилучший подход для этого?

Это пользовательское действие или какой-то другой метод перечисления всех активных рабочих процессов и запуска события / помещения элемента в очередь рабочего процесса?

Очевидно, что с точки зрения рабочего процесса было бы неплохо иметь в нем действие, которое запускается, когда, в примере, приведенном выше, офис закрывается.

Все входные данные с благодарностью получены.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2010

Это зависит от того, как вы размещаете свои рабочие процессы.Использование служб рабочего процесса и обмена сообщениями WCF является гораздо более простым вариантом, и я бы предпочел его.

Если вы используете службы рабочего процесса с включенным постоянством, вы можете легко получить список каждого экземпляра рабочего процесса из хранилища, чтобы вы могли отправить его.сообщение WCF им.Используя активные закладки в хранилище экземпляров, вы на самом деле можете увидеть, поддерживает ли рабочий процесс данную операцию в данный момент.

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

BTW очереди рабочих процессов - это функция WF3, которая была заменена закладками в WF4.

0 голосов
/ 24 сентября 2010

Один из способов сделать это - заставить приложение, в котором размещается Workflow Runtime, поставить рабочий элемент в очередь рабочего процесса.Все действия, которые должны ответить на этот стимул, должны иметь закладку для этой очереди.

...