2009-04-30 2 views
1

Gibt es Build in UI-Fähigkeiten, wenn Windows Workflow mit ..A UI über Windows Workflow

Lets sagen, dass ich einen Workflow haben, die eine Stunde dauert zu laufen, wo verschiedene Aktivitäten die ganze Zeit passiert. Während der Ausführung möchte ich sehen, welche Aktivität gerade aktiv ist, welche Aktivitäten bereits ausgeführt wurden usw.

Muss ich diese Benutzeroberfläche selbst programmieren oder hat WF Funktionen eingebaut, die den Status des Workflows grafisch darstellen?

Antwort

0

, die ein Workflow im Zustand Um herauszufinden, ist, abonniere ich das WorkflowIdled Ereignis und etwas tun, wie folgt aus:

  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); 
     } 
0

Es gibt keine in UI gebaut ist.

Sie können jedoch einen erstellen, indem Sie entweder Ereignisse auf der WorflowInstance (siehe andere Antwort) abonnieren oder die Tracking Service verwenden.

Ersteres ist einfach einzurichten für eine schnelle Lösung, aber letzteres funktioniert mit mehreren Host-Prozessen und lang laufenden (entladenen) Workflow-Instanzen.

Verwandte Themen