Workflow Manager 1.0 - Konfiguration und externe Variablen

 

Veröffentlicht: Juli 2016

Workflow-Manager 1.0 bietet die Möglichkeit, Konfigurationswerte festzulegen, die während der Ausführung verwendet werden sollen, und allgemeine und anerkannte bewährte Methoden beim Modellieren von Prozessen zu aktivieren (z. B. Vermeiden hartcodierter Parameter, die sich ggf. in einer Programmdefinition ändern können – in diesem Fall in einem Workflow). Die Ersteller einer Workflowanwendung können Anwendungseinstellungen festlegen, die einer Workflowdefinition zugeordnet sind. Diese Anwendungseinstellungen bestehen aus einer Liste mit Schlüssel-Wert-Paaren, und ihr Konzept ähnelt den .NET-AppSettings. Diese Liste kann eine beliebige Sammlung von Schlüsseln und Werten enthalten, die relevante Informationen für Ihren Workflow darstellen.

Inhalt dieses Themas

  • Einstellungskonfiguration

  • Verwenden von Konfigurationsinformationen in einem Workflow

  • "ExternalVariables" und "UserStatus"

  • "ExternalVariables" im Vergleich zu Konfiguration

Einstellungskonfiguration

Konfigurationsanwendungseinstellungen werden auf Workflowdefinitionsebene über WorkflowDescription.Configuration eingerichtet. Der Code unten zeigt ein Beispiel, wie Anwendungseinstellungen (durch Hinzufügen von Elementen zur AppSettingsAuflistung von WorkflowConfiguration) festgelegt werden.

sampleConfigValueWorkflow.Configuration = new WorkflowConfiguration();
sampleConfigValueWorkflow.Configuration.AppSettings.Add("configSetting1", "configuration value");      
sampleConfigValueWorkflow.Configuration.AppSettings.Add("anotherConfigSetting", "another value");      

Hinweis

WorkflowConfiguration stellt weitere Konfigurationseinstellungen zur Verfügung, die nicht direkt aus dem Programmiermodell in WF verwendet werden können, z. B. Drosselungsoptionen.

Eine Standardworkflowkonfiguration kann auf alle Workflows in einem bestimmten Bereich durch Festlegen eines WorkflowConfiguration-Objekts auf ScopeInfo.DefaultWorkflowConfiguration angewendet werden. Wenn diese Standardkonfiguration festgelegt wird, verwenden alle WorkflowDefinitions im Bereich diese Konfigurationseinstellungen.WorkflowDefinitions kann sie durch Bereitstellen einer eigenen WorkflowConfiguration außer Kraft setzen.

Verwenden von Konfigurationsinformationen in einem Workflow

Die GetConfigurationValue-Aktivität ermöglicht Erstellern von Workflows das Nutzen von Anwendungseinstellungen aus der Konfiguration für einen bestimmten Workflow.GetConfigurationValue nimmt den Namen der Anwendungseinstellung und eine Ausgabevariable an, in der die Anwendungseinstellung gespeichert wird. Die Aktivität nimmt außerdem einen optionalen Standardwert an. Dieser Wert wird der Ausgabevariablen in dem Fall zugewiesen, wenn die angeforderte Anwendungseinstellung nicht gefunden wurde. Der Workflow im folgenden Screenshot zeigt eine GetConfigurationActivity, die die Einstellung configSetting1 verwendet, die im vorherigen Beispiel angegeben wurde.

Workflow Configuration Activity Properties

"ExternalVariables" und "UserStatus"

ExternalVariables ermöglicht den Erstellern von Workflows die Modellierung des globalen Status in einem Workflow. "ExternalVariables" werden einer "WorkflowDefinition" mithilfe der Eigenschaft ExternalVariables hinzugefügt und sind für alle Aktivitäten innerhalb dieses Workflows sichtbar. Dies bedeutet, dass diese Variablen für alle untergeordneten Elemente der Implementierung des Workflows sichtbar sind, einschließlich der Implementierung der benutzerdefinierten Aktivitäten, die darin verwendet werden. ExternalVariables kann einen beliebigen Typ besitzen, der in Workflows zulässig ist (Typen aus der Liste der zulässigen Typen).

Hinweis

Den Weitere Informationen über zu zulässigen Typen finden Sie unter Workflow Manager 1.0 - vertrauenswürdige Oberfläche.

ExternalVariables kann zugeordnet werden. Dies bedeutet, dass auf sie mithilfe von "WorkflowInstanceInfo.MappedVariables" zugegriffen werden kann, wenn der Workflow persistent gespeichert wird. Wenn eine "ExternalVariable" nicht als zugeordnet gekennzeichnet ist, wird sie als Teil des Instanzstatus gespeichert. Es kann jedoch nicht mithilfe von "WorkflowInstanceInfo" darauf zugegriffen werden.

Auf ExternalVariable-Werte wird mithilfe der Aktivität "ExternalVariableValue<T>" zugegriffen. Zum Festlegen des Werts einer "ExternalVariable" wird "ExternalVariableReference<T>" als L-Wert verwendet (z. B. in "Assign").

Hinweis

ExternalVariableValue<T> wird im Workflow-Designer unterstützt. ExternalVariableReference<T> wird zurzeit jedoch nur im Code unterstützt.

Workflow-Manager 1.0 führt außerdem eine zugeordnete "ExternalVariable" der Spitzenklasse namens "UserStatus" ein (auf die mithilfe der Eigenschaft UserStatus zugegriffen wird) sowie eine Aktivität namens SetUserStatus, um diese Variable aus dem Workflow festzulegen. Dies ist ein einfacher Einstieg in die Verwendung von ExternalVariables für den häufigsten Fall, in dem nur eine ExternalVariable benötigt wird.

"ExternalVariables" im Vergleich zu Konfiguration

Die folgende Tabelle vergleicht die Funktionen der Workflowkonfiguration mit ExternalVariables.

Funktion

Konfiguration

ExternalVariables

Granularität

Definition oder höher (z. B. Bereich)

Instanz

Zulässige Typen

"String"

Beliebiger Typ aus der Liste zulässiger Typen

Kann von der Workflowinstanz geändert werden

Nein

Ja

Aktivitätsoberfläche

GetConfigurationValue

ExternalVariablesValue<T>

ExternalVariableReference<T>

Kann zugeordnet werden

Nein

Ja