C# Windows工作流上的用户界面

C# Windows工作流上的用户界面,c#,workflow-foundation,C#,Workflow Foundation,使用Windows工作流时是否有内置的UI功能 假设我有一个工作流程,需要一个小时才能运行,不同的活动一直在发生。当它运行时,我想看看哪些活动当前处于活动状态,哪些活动已经运行等等 我是否必须自己编写此UI,或者WF是否具有内置功能,以图形方式显示工作流的状态等?要了解工作流处于哪个状态,我订阅WorkflowIdled事件并执行以下操作: private delegate void UpdateDelegate(); void workflowRuntime_Wor

使用Windows工作流时是否有内置的UI功能

假设我有一个工作流程,需要一个小时才能运行,不同的活动一直在发生。当它运行时,我想看看哪些活动当前处于活动状态,哪些活动已经运行等等


我是否必须自己编写此UI,或者WF是否具有内置功能,以图形方式显示工作流的状态等?

要了解工作流处于哪个状态,我订阅WorkflowIdled事件并执行以下操作:

           private delegate void UpdateDelegate();
   void workflowRuntime_WorkflowIdled(object sender, WorkflowEventArgs e)
        {
            StateMachineWorkflowInstance stateMachineInstance = new StateMachineWorkflowInstance(MyManager.WorkflowRuntime, MyInstance.Id);
            UpdateDelegate LclUpdateDelgate = delegate()
            {
                // Update the workflow state on the form thread
                if (stateMachineInstance.CurrentState != null)
                    LabelWorkflowState.Text = stateMachineInstance.CurrentStateName;
                else
                    LabelWorkflowState.Text = "";

            };
            this.Invoke(LclUpdateDelgate);
        }

没有内置的用户界面

但是,您可以通过订阅WorflowInstance上的事件查看其他答案,或者使用


前者很容易设置为快速解决方案,但后者可用于多个主机进程和长时间运行的卸载工作流实例。

查看MSDN上的此代码示例: