2010-09-24 4 views
0

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

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

Каков наилучший способ сделать это?

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

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

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

ответ

0

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

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

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

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

0

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