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.
"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 |