1

使用 Windows 工作流时是否有任何内置 UI 功能。

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

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

4

3 回答 3

0

为了找出工作流所处的状态,我订阅了 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);
        }
于 2009-04-30T05:28:51.250 回答
0

在 MSDN 上查看此代码示例:

http://msdn.microsoft.com/en-us/library/ms741706.aspx

于 2009-04-30T13:34:23.113 回答
0

没有内置的用户界面。

但是您可以通过订阅 WorflowInstance 上的事件(请参阅其他答案)或使用Tracking Service来创建一个。

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

于 2009-04-30T11:16:08.450 回答