Configurazione e variabili esterne di Workflow Manager 1.0

 

Progettazione flussi di lavoro 1.0 offre la possibilità di impostare i valori di configurazione da usare durante l'esecuzione grazie all'abilitazione di procedure comuni e consigliate durante la modellazione dei processi, evitando ad esempio l'impostazione come hardcoded di parametri che possono variare all'interno della definizione di un programma (in questo caso, di un flusso di lavoro).Gli autori dell'applicazione del flusso di lavoro possono configurare le impostazioni dell'applicazione associate a una definizione di flusso di lavoro.Le impostazioni dell'applicazione costituiscono un elenco di coppie chiave-valore e sono concettualmente simili all'oggetto AppSettings .NET.L'elenco può contenere un set qualsiasi di chiavi e valori che rappresentano le informazioni pertinenti per il flusso di lavoro.

Le impostazioni dell'applicazione di configurazione vengono stabilite a livello del flusso di lavoro tramite WorkflowDescription.Configuration.Nel codice seguente è illustrato un esempio di come configurare le impostazioni dell'applicazione, aggiungendo elementi alla raccolta AppSettings di WorkflowConfiguration.

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

System_CAPS_noteNota

WorkflowConfiguration fornisce altre impostazioni di configurazione che non possono essere usate direttamente dal modello di programmazione nel flusso di lavoro, ad esempio le opzioni di limitazione.

La configurazione del flusso di lavoro predefinita può essere impostata per tutti i flussi di lavoro presenti in un determinato ambito impostando un oggetto WorkflowConfiguration su ScopeInfo.DefaultWorkflowConfiguration.Dopo l'impostazione della configurazione predefinita, ogni istanza di WorkflowDefinitions nell'ambito userà queste impostazioni.WorkflowDefinitions può eseguirne l'override fornendo la propria WorkflowConfiguration.

L'attività GetConfigurationValue consente agli autori dei flussi di lavoro di utilizzare le impostazioni dell'applicazione della configurazione per un determinato flusso di lavoro.GetConfigurationValue accetta il nome dell'impostazione dell'applicazione e una variabile di output in cui memorizzare l'impostazione dell'applicazione.L'attività accetta inoltre un valore predefinito opzionale che rappresenta il valore che sarà assegnato alla variabile di output nel caso in cui non sia possibile trovare l'impostazione dell'applicazione richiesta.Il flusso di lavoro nella schermata seguente mostra un'attività GetConfigurationActivity che usa l'impostazione configSetting1 specificata nell'esempio precedente.

Workflow Configuration Activity Properties

Le variabili ExternalVariables consentono agli autori dei flussi di lavoro di modellare lo stato globale all'interno di un flusso di lavoro.Le variabili ExternalVariables vengono aggiunte a WorkflowDefinition mediante la proprietà ExternalVariables e sono visibili a tutte le attività all'interno del flusso di lavoro specifico.Queste variabili saranno quindi visibili a tutte le implementazioni figlio del flusso di lavoro, inclusa quella delle attività personalizzate usate nel flusso.Le variabili ExternalVariables possono essere di qualsiasi tipo consentito all'interno del flusso di lavoro e presente nell'elenco dei tipi consentiti.

System_CAPS_noteNota

Per ulteriori informazioni sui tipi consentiti, vedere Superficie attendibile di Gestione flusso di lavoro 1.0.

Le variabili ExternalVariables possono essere mappate e pertanto,quando il flusso di lavoro viene salvato in modo permanente, possono essere accessibili mediante WorkflowInstanceInfo.MappedVariables.Se una variabile ExternalVariable non è contrassegnata come mappata, verrà salvata come parte dello stato dell'istanza ma non sarà accessibile mediante WorkflowInstanceInfo.

I valori ExternalVariable sono accessibili mediante l'attività ExternalVariableValue<T>.Per impostare il valore di una variabile ExternalVariable, ExternalVariableReference<T> viene usato come L-Value, ad esempio in Assign.

System_CAPS_noteNota

ExternalVariableValue<T> è supportato nell'utilità di progettazione dei flussi di lavoro, ma al momento ExternalVariableReference<T> è supportato solo in codice.

Progettazione flussi di lavoro 1.0 introduce inoltre una variabile ExternalVariable mappata di prima classe denominata UserStatus, accessibile mediante la proprietà UserStatus, e un'attività per impostarla dal flusso di lavoro denominata SetUserStatus.Viene così offerta l'opportunità di usare ExternalVariables in modo semplice, nella situazione più comune in cui è necessaria una sola variabile ExternalVariable.

Nella tabella seguente viene presentato il confronto tra le funzionalità della configurazione di Workflow e di ExternalVariables.

Capacità

Configurazione

ExternalVariables

Granularità

Definizione o superiore (ad esempio, Ambito)

Istanza

Tipi consentiti

String

Qualsiasi tipo nell'elenco di quelli consentiti

Può essere modificata dall'istanza di flusso di lavoro

No

Superficie di attività

GetConfigurationValue

ExternalVariablesValue<T>

ExternalVariableReference<T>

Può essere mappata

No

Mostra: