У меня есть рабочий процесс для рабочего процесса Windows, который содержит параллельное действие. Внутри этой параллельной деятельности есть последовательности действий, которые могут занять довольно много времени (как последовательности, так и действия внутри последовательностей).Windows Workflow Foundation: Persist in Parallel Sequences
Эти действия производятся от NativeActivity и используют закладки и System.Threading.Tasks.Task для выполнения своей работы.
Как правило, работа их параллельно работает нормально.
Теперь я хотел бы добавить деятельность Persist в нескольких местах по параллельным ветвям.
Давайте представим, что мы имеем две параллельные ветви A, B с деятельностью 1,2 в А, и 3,4 в В.
Символ звездочка указывает, что что-то под управлением:
| Branch A | Branch B |
|##############|##############|
| Activity 1 | Activity 3 |
| | PERSIST |
| *Activity 2* | Activity 4 |
| PERSIST | |
| Activity 5 | *Activity 6* |
A закрыл 1 и выполняет 2, он еще не сохранился. B закрыло 3, сохраняется, закрыто 4, и в настоящее время выполнения 6. Сервер умирает
Теперь, если перезапустить сервер и возобновить экземпляр WF, я хотел бы видеть ветку отталкиваться от 1 снова, и в начале от 4
| Branch A | Branch B |
|##############|##############|
| *Activity 1* | Activity 3 |
| | PERSIST |
| Activity 2 | *Activity 4* |
| PERSIST | |
| Activity 5 | Activity 6 |
Так положить его в словах, поведение, я хотел бы видеть, что для каждого из параллельных ветвей сохраняются должен применяться только к ветви она лежит в.
Как я думаю, весь рабочий процесс сохраняется, я предполагаю, что это не так, как это работает, но я бы хотел, чтобы он был доказан wro нг! Итак, могу ли я достичь такого поведения?