Condividi tramite


Utilizzo dell'attività PolicyActivity

L'attività PolicyActivity può essere utilizzata per rappresentare un set di regole. Una regola è composta da condizioni e azioni risultanti. È possibile pensare a una regola come a un'istruzione IF-THEN-ELSE in cui la condizione corrisponde a IF e le azioni definiscono il comportamento delle clausole THEN e ELSE.

Un'azione può eseguire le operazioni seguenti:

  • Impostare un campo o una proprietà di un flusso di lavoro.

  • Chiamare un metodo in un flusso di lavoro oppure oggetti di un flusso di lavoro.

  • Chiamare metodi statici di tipi negli assembly a cui si fa riferimento.

  • Eseguire un'istruzione Halt o Update.

Condizioni e azioni del set di regole

Le condizioni e le azioni Then e Else del set di regole vengono rappresentate tramite espressioni. Per ulteriori informazioni sulle condizioni, vedere Utilizzo di condizioni nei flussi di lavoro.

Le condizioni supportano gli stessi operatori di espressione delle azioni, ad eccezione dell'operatore "=" che viene utilizzato per l'assegnazione anziché per l'uguaglianza.

Halt e Update

Nelle espressioni utilizzate per rappresentare le azioni è inoltre possibile utilizzare le funzioni Halt e Update. L'azione Halt causa l'immediata interruzione dell'esecuzione del set di regole e restituisce il controllo al codice chiamante. La funzione Update viene utilizzata con il concatenamento diretto. Per ulteriori informazioni su come utilizzare la funzione Update con il concatenamento diretto, vedere la sezione "Concatenamento diretto esplicito" del presente argomento.

Classi PolicyActivity e RuleSet

Per utilizzare un'attività PolicyActivity in un flusso di lavoro, aggiungere una classe PolicyActivity al codice del flusso di lavoro. Quindi, configurare la proprietà RuleSetReference dell'attività PolicyActivity affinché punti a un set RuleSet in base al nome di un insieme RuleSetCollection. L'attività PolicyActivity crea un'istanza della classe RuleSet. Si tratta della classe RuleSet che esegue le regole. L'attività PolicyActivity contiene le proprietà a cui vengono applicate le regole. Quando la condizione di una regola viene valutata true, vengono eseguite le azioni Then di tale regola. Quando la condizione viene valutata false, vengono eseguite le azioni Else.

Ogni regola presenta una proprietà Priority che determina l'ordine di valutazione delle regole e di esecuzione delle relative azioni. L'analizzatore di regole di Windows Workflow Foundation valuta le regole individualmente ed esegue le azioni della regola in base ai risultati della valutazione della condizione della regola. Le regole con priorità più elevata vengono eseguite prima di quelle con priorità meno elevata, mentre le regole aventi la stessa priorità vengono eseguite in base al nome in ordine alfabetico. Le priorità possono essere sia positive sia negative. La priorità predefinita di una regola è zero. Per ulteriori informazioni sulla priorità delle regole nell'ambito di un set RuleSet, vedere Valutazione delle regole di RuleSet e Esecuzione basata sulla priorità dei RuleSet.

Ogni regola Rule presenta una proprietà Active che determina se la regola deve essere valutata.

Vedere anche

Riferimenti

PolicyActivity
Rule
RuleSet
RuleSetCollection
RuleAttributeTarget
RuleReadAttribute
RuleWriteAttribute
RuleInvokeAttribute

Concetti

Procedura: utilizzare le condizioni della regola nei flussi di lavoro
Esecuzione basata sulla priorità dei RuleSet
Cenni preliminari su regole e condizioni

Altre risorse

Simple Policy Sample
Advanced Policy Sample
Esercitazione: utilizzo di regole e condizioni
Attività di Windows Workflow Foundation

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.