Я запускаю среду выполнения рабочего процесса, которая содержит SqlWorkflowPersistenceService & SqlTrackingService (с IsTransactional = true)
WorkflowInstance workflowInstance = _workflowRuntime.CreateWorkflow(workflowType);
workflowInstance.Start();
// Assure persistence
workflowInstance.Unload(); // Error occur here
workflowInstance.Load();
Я получаю ошибку:
PersistenceException "Cannot access a disposed object.\r\nObject name: 'Transaction'."
at System.Workflow.Runtime.WorkflowExecutor.Persist(Activity dynamicActivity, Boolean unlock, Boolean needsCompensation)
at System.Workflow.Runtime.WorkflowExecutor.PerformUnloading(Boolean handleExceptions)
at System.Workflow.Runtime.WorkflowExecutor.Unload()
at System.Workflow.Runtime.WorkflowInstance.Unload()
Все работает нормально, если я не добавляю SqlTrackingService или не устанавливаю значение IsTransactional в true
Редактировать: Эта ошибка возникает только при использовании удаленной базы данных. Точно такой же код будет работать при выполнении его с компьютера базы данных.