Supporto per nuovo funzionalità di Workflow Foundation 4.5 nella finestra di progettazione del flusso di lavoro ospitata nuovamente

Windows Workflow Foundation in .NET Framework 4.5 ha introdotto molte nuove funzionalità, tra cui diversi miglioramenti all'esperienza di progettazione dei flussi di lavoro. In questo argomento vengono descritte quali funzionalità sono supportate nella finestra di progettazione ospitata nuovamente e quali non sono attualmente supportate.

Nota

Per un elenco di tutte le nuove funzionalità di Windows Workflow Foundation introdotte in .NET Framework 4.5, incluse quelle non correlate al rehosting della finestra di progettazione, vedere Novità di Windows Workflow Foundation in .NET Framework 4.5.

Attività

La libreria di attività predefinita contiene nuove attività e funzionalità per le attività esistenti. Tutte queste nuove attività sono supportate nella finestra di progettazione ospitata nuovamente. Per altre informazioni su queste nuove attività, vedere la sezione Attività di Novità di Windows Workflow Foundation in .NET Framework 4.5.

Espressioni C#

Prima di .NET Framework 4.5, tutte le espressioni nei flussi di lavoro potevano essere scritte solo in Visual Basic. In .NET Framework 4.5, le espressioni di Visual Basic vengono usate solo per i progetti creati tramite questo linguaggio. Nei progetti Visual C# viene ora usato C# per le espressioni. Quando si creano flussi di lavoro in Visual Studio 2012, è ora disponibile un editor espressioni C# dotato di tutte le funzionalità, tra cui l'evidenziazione della grammatica e Intellisense. I progetti di flussi di lavoro C# creati in versioni precedenti che utilizzavano espressioni di Visual Basic continueranno a funzionare.

Avviso

Le espressioni C# non sono supportate nella finestra di progettazione ospitata nuovamente.

Nuove funzionalità di progettazione

Le funzionalità Cerca nei file e Ricerca veloce introdotte con .NET Framework 4.5 non sono supportate nella finestra di progettazione riallocata. La ricerca di Toolbox è supportata nella finestra di progettazione ospitata nuovamente. Per altre informazioni su queste funzionalità, vedere Ricerca nella finestra di progettazione.

Avviso

Ricerca veloce e Cerca nei file non sono supportati nella finestra di progettazione riallocata.

Eliminare l'elemento del menu di scelta rapida nella finestra di progettazione delle variabili e degli argomenti

In .NET Framework 4 le variabili e gli argomenti possono essere eliminati nella finestra di progettazione solo mediante la tastiera. A partire da .NET Framework 4.5, le variabili e gli argomenti possono essere eliminati usando il menu di scelta rapida. Questa funzionalità è supportata nella finestra di progettazione ospitata nuovamente.

Nella schermata seguente è illustrato il menu di scelta rapida della finestra di progettazione delle variabili e degli argomenti.

Variable and Argument Designer Context Menu

Racchiudere automaticamente con l'attività Sequence

Poiché un flusso di lavoro o determinate attività contenitore (ad esempio NoPersistScope) potevano contenere solo un'unica attività Body, l'aggiunta di una seconda attività richiedeva allo sviluppatore di eliminare la prima attività, di aggiungere un'attività Sequence e, successivamente, di aggiungere entrambe le attività all'attività Sequence. A partire da .NET Framework 4.5, quando si aggiunge una seconda attività all'area di progettazione, viene creata automaticamente un'attività Sequence per eseguire il wrapping di entrambe le attività. Questa funzionalità è supportata nella finestra di progettazione ospitata nuovamente.

La schermata riportata di seguito mostra un'attività di WriteLine in Body di NoPersistScope.

A WriteLine activity in the Body of a NoPersistScope activity.

La schermata riportata di seguito mostra l'attività automaticamente creata di Sequence in Body quando un secondo WriteLine viene rilasciato sotto il primo.

An automatically created Sequence in the Body of a NoPersistScope.

Modalità dettaglio

Per spostarsi più facilmente in un flusso di lavoro di grandi dimensioni nella finestra di progettazione è possibile abilitare la modalità dettaglio, consentendo allo sviluppatore di selezionare e trascinare la parte visibile del flusso di lavoro, anziché dover usare le barre di scorrimento. Il pulsante per attivare la modalità dettaglio si trova nell'angolo inferiore destro della finestra di progettazione. Questa funzionalità è supportata nella finestra di progettazione ospitata nuovamente.

Nella schermata seguente viene illustrato il pulsante della modalità dettaglio posizionato nell'angolo inferiore destro della finestra di progettazione del flusso di lavoro.

The pan button highlighted in the workflow designer.

Per ottenere il dettaglio della finestra di progettazione del flusso di lavoro è anche possibile usare il pulsante centrale del mouse o la barra spaziatrice.

Selezione multipla

È possibile selezionare più attività alla volta trascinando un rettangolo attorno a esse (quando la modalità dettaglio non è abilitata) o tenendo premuto CTRL e facendo clic sulle attività desiderate una alla volta. Questa funzionalità è supportata nella finestra di progettazione ospitata nuovamente.

Le selezioni di più attività possono anche essere trascinate e rilasciate all'interno della finestra di progettazione, nonché usate con il menu di scelta rapida.

Visualizzazione Struttura degli elementi del flusso di lavoro

Per consentire uno spostamento più semplice nei flussi di lavoro gerarchici, i componenti di un flusso di lavoro vengono visualizzati in una visualizzazione ad albero. La visualizzazione Struttura è mostrata nella visualizzazione Struttura documento. Per aprire questa visualizzazione in Visual Studio, nel menu principale selezionare Visualizza, Altre finestre, Struttura documento oppure premere CTRL+W+U. Facendo clic su un nodo nella visualizzazione Struttura verrà visualizzata l'attività corrispondente nella finestra di progettazione del flusso di lavoro e la visualizzazione Struttura verrà aggiornata in modo da mostrare le attività selezionate nella finestra di progettazione. Questa funzionalità è supportata nella finestra di progettazione ospitata nuovamente.

Lo screenshot seguente del flusso di lavoro completato dell'Esercitazione introduttiva mostra la visualizzazione Struttura con un flusso di lavoro sequenziale.

Screenshot of outline view with a sequential workflow in Visual Studio

Maggiore controllo della visibilità degli elementi della barra della shell e dell'intestazione

In una finestra di progettazione ospitata nuovamente, alcuni dei controlli dell'interfaccia utente standard possono non essere appropriati per un determinato flusso di lavoro e, pertanto, è possibile disattivarli. In .NET Framework 4 questa personalizzazione è supportata solo dalla barra della shell nella parte inferiore della finestra di progettazione. In .NET Framework 4.5 la visibilità degli elementi dell'intestazione della shell nella parte superiore della finestra di progettazione può essere regolata impostando WorkflowShellHeaderItemsVisibility con il valore ShellHeaderItemsVisibility appropriato.

Connessione e inserimento automatici nei flussi di lavoro del diagramma di flusso e della macchina a stati

In .NET Framework 4 le connessioni tra i nodi di un flusso di lavoro del diagramma di flusso devono essere aggiunte manualmente. In .NET Framework 4.5 i nodi del diagramma di flusso e della macchina a stati dispongono di punti di connessione automatica che diventano visibili quando un'attività viene trascinata dalla casella degli strumenti all'area di progettazione. Rilasciando un'attività in uno di questi punti, viene automaticamente aggiunta insieme alla connessione necessaria.

Nella schermata seguente vengono illustrati i punti di associazione che diventano visibili quando un'attività viene trascinata dalla casella degli strumenti.

Flowchart start node showing auto-connect points

Le attività possono anche essere trascinate nelle connessioni tra i nodi e gli stati del diagramma di flusso per inserire automaticamente un nodo tra altri due. Nella schermata seguente viene illustrata la linea di connessione evidenziata in cui è possibile trascinare e rilasciare le attività dalla casella degli strumenti.

Auto-insert handle for dropping activities

Connessione e inserimento automatici sono supportati nella finestra di progettazione ospitata nuovamente.

Annotazioni della finestra di progettazione

Per semplificare lo sviluppo di flussi di lavoro di grandi dimensioni, la finestra di progettazione supporta ora l'aggiunta di annotazioni per consentire di tenere traccia del processo di progettazione. Le annotazioni possono essere aggiunte ad attività, stati, nodi del diagramma di flusso, variabili e argomenti. Nella schermata seguente è illustrato il menu di scelta rapida usato per aggiungere annotazioni alla finestra di progettazione.

Screenshot that shows the menu for adding notations.

Le annotazioni della finestra di progettazione non sono supportate nella finestra di progettazione ospitata nuovamente.

Definire e usare gli oggetti ActivityDelegate nella finestra di progettazione

Le attività in .NET Framework 4 usano gli oggetti ActivityDelegate per esporre i punti di esecuzione dove altre parti del flusso di lavoro possono interagire con l'esecuzione di un flusso di lavoro, tuttavia l'uso dei punti di esecuzione richiede, generalmente, una grande quantità di codice. In questa versione gli sviluppatori possono definire e usare delegati di attività tramite la finestra di progettazione del flusso di lavoro. Per altre informazioni, vedere Procedura: definire e usare delegati di attività in Progettazione flussi di lavoro.

I delegati di attività non sono supportati nella finestra di progettazione ospitata nuovamente.

Convalida in fase di compilazione

In .NET Framework 4 gli errori di convalida del flusso di lavoro non vengono contati come errori di compilazione durante l'esecuzione di questa operazione per un progetto di flusso di lavoro. In questo modo, la compilazione di un progetto di flusso di lavoro poteva essere completata correttamente anche in presenza di errori di convalida del flusso di lavoro. In .NET Framework 4.5 gli errori di convalida del flusso di lavoro impediscono il completamento della compilazione.

Avviso

La convalida in fase di compilazione non è supportata nella finestra di progettazione ospitata nuovamente.

Convalida in background in fase di progettazione

In .NET Framework 4 i flussi di lavoro vengono convalidati come processo in primo piano. Questa condizione può potenzialmente bloccare l'interfaccia utente durante processi di convalida complessi o lunghi. La convalida del flusso di lavoro viene ora effettuata in un thread in background, pertanto l'interfaccia utente non viene bloccata.

La convalida in background in fase di progettazione non è supportata nella finestra di progettazione ospitata nuovamente.

Stato di visualizzazione presente in un percorso separato nei file XAML

In .NET Framework 4 le informazioni sullo stato di visualizzazione di un flusso di lavoro sono archiviate in molte posizioni diverse del file XAML. Questa condizione è poco pratica per gli sviluppatori che desiderano leggere direttamente i file XAML o scrivere codice per rimuovere le informazioni sullo stato di visualizzazione. In .NET Framework 4.5 le informazioni sullo stato di visualizzazione nel file XAML sono serializzate come elemento separato in tale file. Gli sviluppatori possono facilmente individuare e modificare le informazioni sullo stato di visualizzazione di un'attività o rimuovere completamente lo stato di visualizzazione.

Questa funzionalità è supportata nella finestra di progettazione del flusso di lavoro ospitata nuovamente.

Consenso esplicito per le funzionalità di .NET 4.5 in una finestra di progettazione ospitata nuovamente

Per mantenere la compatibilità con le versioni precedenti, alcune nuove funzionalità incluse in .NET Framework 4.5 non sono abilitate per impostazione predefinita nella finestra di progettazione riallocata. In questo modo si garantisce che le applicazioni esistenti in cui viene usata la finestra di progettazione ospitata nuovamente non vengano interrotte in caso di aggiornamento alla versione più recente. Per abilitare le nuove funzionalità nella finestra di progettazione ospitata nuovamente, impostare la proprietà TargetFrameworkName su ".NET Framework 4.5" oppure impostare singoli membri dell'oggetto DesignerConfigurationService per abilitare singole funzionalità.

Nuovi modelli di sviluppo dei flussi di lavoro

Oltre ai modelli di sviluppo dei flussi di lavoro del diagramma di flusso e sequenziale, in questa versione sono inclusi i flussi di lavoro macchina a stati e i servizi dei flussi di lavoro con priorità al contratto ("contract-first").

Flussi di lavoro macchina a stati

I flussi di lavoro della macchina a stati sono stati introdotti con .NET Framework 4.0.1 in Microsoft .NET Framework 4 Platform Update 1. In questo aggiornamento sono incluse numerose nuove classi e attività che hanno consentito agli sviluppatori di creare i flussi di lavoro macchina a stati. Queste classi e attività sono state aggiornate per .NET Framework 4.5. Gli aggiornamenti includono:

  1. Possibilità di impostare punti di interruzione negli stati

  2. Possibilità di copiare e incollare transizioni nella finestra di progettazione del flusso di lavoro

  3. Supporto della finestra di progettazione per la creazione di transizioni con trigger condivisi

  4. Attività usate per creare i flussi di lavoro macchina a stati, incluse StateMachine, State e Transition

Lo screenshot seguente mostra il flusso di lavoro della macchina a stati completato dal passaggio Procedura: creare un flusso di lavoro della macchina a stati dell'Esercitazione introduttiva.

Illustration that shows the completed state machine workflow.

Per altre informazioni sulla creazione di flussi di lavoro della macchina a stati, vedere Flussi di lavoro macchina a stati. I flussi di lavoro macchina a stati sono supportati nella finestra di progettazione ospitata nuovamente.

Sviluppo di flussi di lavoro con priorità al contratto ("contract-first")

Lo strumento di sviluppo dei flussi di lavoro con priorità al contratto ("contract-first") consente allo sviluppatore di progettare un contratto in Code First. Successivamente, con alcune selezioni in Visual Studio, viene automaticamente generato nella casella degli strumenti un modello di attività che rappresenta ogni operazione. Queste attività vengono quindi usate per creare un flusso di lavoro che implementa le operazioni definite dal contratto. La finestra di progettazione del flusso di lavoro convaliderà il servizio di quest'ultimo per garantire che queste operazioni vengano implementate e che la firma del flusso di lavoro corrisponda a quella del contratto. Lo sviluppatore può inoltre associare un servizio del flusso di lavoro a una raccolta di contratti implementati. Per altre informazioni sullo sviluppo di un servizio flusso di lavoro con priorità al contratto, vedere Procedura: creare un servizio di flusso di lavoro che utilizza un contratto di servizio esistente.

Avviso

Lo sviluppo di flussi di lavoro con priorità al contratto ("contract-first") non è supportato nella finestra di progettazione flussi di lavoro.