2016-09-29 2 views
1

Допустим, я сохранил self-hosted workflows (работает локально IIS express), которые используют WorkflowApplication программно с использованием объектной модели SqlWorkflowInstanceStore.Как получить последний сохраненный экземпляр экземпляра рабочего процесса, чтобы перезагрузить его?

app.PersistableIdle = delegate(WorkflowApplicationIdleEventArgs e) 
{ 
    return PersistableIdleAction.Unload; 
}; 

Тогда я случайно/сознательно остановил свой веб-приложение, перезагрузил свои визуальные студии (местное развитие).

Мои вопросы:

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

ответ

0

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

+0

Согласно моему пониманию и исследованию, Workflow возобновляется с момента запуска приложения после завершения работы. Для этого не существует встроенного механизатора. Однако, если ваше приложение не завершено, и вы продолжаете, он переходит в режим ожидания, возобновляет закладку, а затем возобновляет WF из точки сохранения. Если вы считаете, что я ошибаюсь, передайте пример или ссылку из MSDN, где они сказали что-то о сценарии завершения работы. благодаря – immirza

Смежные вопросы