Ejemplo n.º 1
0
        public override WorkflowExecutionContext LoadWorkflowInstanceState(Guid instanceId)
        {
            var fileName = GetFileName(instanceId);

            if (!File.Exists(fileName))
            {
                throw new Exception(string.Format(
                                        "Состояние экземпляра потока работ с идентификатором {0} не было сохранено", instanceId));
            }
            try
            {
                using (var stream = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.None))
                {
                    return(WorkflowExecutionContext.Load(stream));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format(
                                        "Ошибка загрузки состояния экземпляра потока работ с идентификатором {0}", instanceId), ex);
            }
        }