Beispiel #1
0
        public ReadOnlyCollection <WorkflowQueueInfo> GetWorkflowQueueData()
        {
            if (_deadWorkflow != null)
            {
                return(_deadWorkflow.GetWorkflowQueueInfos());
            }

            while (true)
            {
                WorkflowExecutor executor = _runtime.Load(this);
                if (executor.IsInstanceValid)
                {
                    try
                    {
                        return(executor.GetWorkflowQueueInfos());
                    }
                    catch (InvalidOperationException)
                    {
                        if (executor.IsInstanceValid)
                        {
                            throw;
                        }
                    }
                }
            }
        }