Рабочий процесс электронной почты с использованием WF4 - PullRequest
1 голос
/ 04 октября 2011

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

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

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

Чтобы попытаться добиться этого, я настроил элемент управления Pick светви.В филиале 1 есть функция Receive with StartEmails, которая запускает мою задержанную последовательность писем, как описано ранее.Ветвь 2 содержит второй получатель StopEmails, однако моя точка останова никогда не попадет в получение StopEmails.Я полагаю, что я установил правильную корреляцию, и CanCreatedInstance имеет значение false.

Неужели я не могу сделать второй вызов, пока первая ветвь находится в состоянии задержки (ожидания)?

Любые указатели будут оценены.

1 Ответ

0 голосов
/ 05 октября 2011

После еще немного раскопок на SO, я думаю, я нашел свой ответ. см. этот пост Соотношение сообщений Workflow foundation 4.0 и сообщения об ошибках

Я был прав, думая, что именно задержка в моей первой ветке блокировала выполнение моего второго запроса приема. Замена моего Pick на параллельный контейнер решила проблему. Имеет смысл, когда вы думаете об этом!

Параллельный контейнер на помощь!

...