Attività Policy in .NET Framework 4

Le informazioni contenute in questo argomento sono valide per Windows Workflow Foundation 4.

L'attività Policy4 consente di utilizzare gli oggetti RuleSet di Windows Workflow Foundation in .NET Framework versione 3.5 (WF 3.5) direttamente in Windows Workflow Foundation in .NET Framework versione 4 (WF 4) tramite il motore fornito in WF 3.5. Utilizzando questa attività, è possibile creare ed eseguire un oggetto RuleSet di WF 3.5. Per ulteriori informazioni su motore per le regole di WF 3.5, incluso in Windows Workflow Foundation, vedere Introduzione al motore per le regole di Windows Workflow Foundation. Per ulteriori informazioni sulla migrazione delle regole a WF in .NET Framework 4, vedere Istruzioni di migrazione.

Dd797584.Important(it-it,VS.100).gif Nota:
È possibile che gli esempi siano già installati nel computer. Verificare la directory seguente (impostazione predefinita) prima di continuare.

<UnitàInstallazione>:\WF_WCF_Samples

Se questa directory non esiste, andare alla sezione relativa agli esempi di Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti gli esempi Windows Communication Foundation (WCF) e WF. Questo esempio si trova nella directory seguente.

<UnitàInstallazione>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Policy4

Progetti di questo esempio

Nome progetto Descrizione File principali

Policy4

Contiene l'attività Policy4 e la relativa finestra di progettazione di WF.

Policy4.cs: definizione dell'attività Policy4.

PolicyDesigner.xaml: finestra di progettazione personalizzata per l'attività Policy4. Utilizza l'editor delle regole (Classe RuleSetDialog) dal motore per le regole di WF.

ImperativeCodeClientSample

Applicazione client di esempio che configura ed esegue un flusso di lavoro tramite un'applicazione Policy4 e il codice C# imperativo (non viene utilizzata alcuna finestra di progettazione di WF).

ApplyDiscount.rules: file con definizioni delle regole di WF.

Order.cs: tipo che rappresenta un ordine del cliente. Le regole vengono applicate agli oggetti di questo tipo.

Program.cs: configura ed esegue un flusso di lavoro che dispone di un'attività Policy4 per applicare le regole definite in ApplyDiscount.rules alle istanze di oggetti Order.

App.config: file di configurazione con il percorso del file delle regole.

DesignerClientSample

Applicazione client di esempio che configura ed esegue un flusso di lavoro tramite un'applicazione Policy4 nella finestra di progettazione di WF.

Sequence1.xaml: flusso di lavoro sequenziale che utilizza un'attività Policy4 per eseguire valutazioni delle regole.

Program.cs: esegue un'istanza del flusso di lavoro definito in Sequence1.xaml.

Attività Policy4

L'attività Policy4 è una classe che deriva dall'oggetto NativeActivity che consente ai flussi di lavoro di eseguire oggetti RuleSet di WF. L'esempio di codice seguente è una definizione semplificata del modello a oggetti pubblico dell'attività.

public class Policy4Activity<TResult>: NativeActivity<TResult>
{
    public RuleSet RuleSet

    [IsRequired]
    public InArgument Input

    public OutArgument<ValidationErrorCollection> ValidationErrors
}

Proprietà Descrizione

RuleSet

Classe RuleSet di WF per .NET Framework 3.5 da valutare quando viene eseguita l'attività.

TargetObject

Oggetto rispetto al quale vengono valutate le regole nella Classe RuleSet.

ValidationError

Elenco di errori di convalida restituiti dal motore per le regole di WF per .NET Framework 3.5 quando si convalida la Classe RuleSet rispetto all'oggetto di destinazione prima dell'esecuzione.

ActivityDesigner di Policy4

La finestra di progettazione di Policy4 aggiunge la funzionalità che consente di configurare un'attività Policy4 senza dover scrivere codice. Dopo aver compilato la soluzione, è disponibile nella casella degli strumenti nella sezione Microsoft.Samples.Activities.Rules.

La finestra di progettazione di WF consente di configurare un oggetto di destinazione e un oggetto RuleSet. Quando si fa clic sul pulsante Modifica RuleSet, viene visualizzata la Classe RuleSetDialog di WF per .NET Framework 3.5. Questa finestra di dialogo è l'editor delle regole di .NET Framework 3.5 rieseguito nell'host. Utilizzare l'editor per creare e modificare le regole eseguite dall'attività Policy4.

Utilizzo dell'esempio

Per eseguire questo esempio non è necessaria alcuna configurazione particolare. È sufficiente aprire la soluzione in Visual Studio e premere F5 per eseguire l'applicazione.

In questo esempio sono contenute due applicazioni client: ImperativeCodeClientSample e DesignerClientSample. Nel client ImperativeCodeClientSample viene illustrato come configurare ed eseguire l'attività Policy40 tramite il codice imperativo C#. In DesignerClientSample viene illustrato come configurare ed eseguire l'attività Policy4 tramite la finestra di progettazione.

Per eseguire l'applicazione client ImperativeCodeClientSample

  1. In Visual Studio 2010 aprire il file della soluzione Policy4Sample.sln.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ImperativeCodeClientSample, quindi selezionare Imposta come progetto di avvio.

  3. Per eseguire il progetto, premere CTRL+F5.

Per eseguire l'applicazione client ImperativeCodeClientSample

  1. In Visual Studio 2010 aprire il file della soluzione Policy4Sample.sln.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto DesignerClientSample.

    • Selezionare Imposta come progetto di avvio.
  3. Per compilare il progetto, premere F6.

  4. Per eseguire il progetto, premere CTRL+F5.