using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MW.WorkFlow { public enum WorkflowState { Created, // 工作流刚创建 Running, // 工作流正在运行 Paused, // 工作流已暂停 Stopped, // 工作流已停止 Completed, // 工作流已完成 Canceled, // 工作流已取消 Faulted // 工作流执行时发生异常 } public class WorkflowExecutionPointer { public string WorkflowName { get; set; } public string FlowName { get; set; } public string ActivityName { get; set; } public string CurrentStepId { get; set; } public string NextStepId { get; set; } public DateTime UpdatedAt { get; set; } } public class WorkflowFaultInfo { public string WorkflowName { get; set; } public string FlowName { get; set; } public string ActivityName { get; set; } public string CurrentStepId { get; set; } public string ErrorMessage { get; set; } public DateTime OccurredAt { get; set; } } public interface IWorkflowRuntimeTracker { void UpdateExecutionPointer(WorkflowExecutionPointer executionPointer); void ReportWorkflowFault(WorkflowFaultInfo faultInfo); } }