InvalidOperationException и рабочие процессы в ASP.NET MVC - PullRequest
0 голосов
/ 01 декабря 2009

Я пытаюсь запросить рабочий процесс конечного автомата, используя StateMachineWrokflowInstance в ASP.NET MVC.

Вот сценарий:

  1. Конфигурация рабочего процесса: добавлены SqlWorkflowPersistenceService, ManualWorkflowSchedulerService, ExternalDataExchangeService и зарегистрированный пользовательский сервис ExternalDataExchange с ExternalDataExchangeService;

  2. Последовательность выполнения:

    var instance = WorkflowRuntimeHandle.CreateWorkflow(type);
    instance.Start();
    WorkflowRuntimeHandle.GetService<ManualWorkflowSchedulerService>
    ().RunWorkflow(instance.InstanceId);
    
    var stateMachineWorkflowInstance = new
    StateMachineWorkflowInstance(instance.WorkflowRuntime, instance.InstanceId); 
    
  3. Полученная ошибка:

    System.InvalidOperationException: Workflow with id "[GUID]" not found in 
    state persistence store?
    

Что я делаю не так?

1 Ответ

1 голос
/ 01 декабря 2009

Видимо, это исключение может иметь много причин.

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

Параметр события WorkflowTerminated WorkflowTerminatedEventArgs поставляется со свойством Exception, которое включает внутренние исключения, которые показали реальный источник проблемы.

Я публикую это здесь в надежде, что этот опыт будет полезен для тех, кто читает.

...