Wat is er nieuw in Windows Workflow Foundation
Windows Workflow Foundation (WF) in .NET Framework 4 wijzigt verschillende ontwikkelingsparadigma's van eerdere versies. Werkstromen zijn nu eenvoudiger te maken, uit te voeren en te onderhouden en een groot aantal nieuwe functies te implementeren. Zie Migratierichtlijnen voor meer informatie over het migreren van .NET Framework 3.0 en .NET Framework 3.5-werkstroomtoepassingen voor het gebruik van de nieuwste versie.
Model van werkstroomactiviteit
De activiteit is nu de basiseenheid voor het maken van een werkstroom, in plaats van de SequentialWorkflowActivity klassen of StateMachineWorkflowActivity te gebruiken. De Activity klasse biedt de basisabstractie van het werkstroomgedrag. Auteurs van activiteiten kunnen vervolgens implementeren CodeActivity voor basisfunctionaliteit voor aangepaste activiteiten of NativeActivity voor aangepaste activiteitsfunctionaliteit die gebruikmaakt van de breedte van de runtime. Activity is een klasse die wordt gebruikt door auteurs van activiteiten om nieuw gedrag declaratief uit te drukken in termen van andere NativeActivity, CodeActivity, , AsyncCodeActivityof DynamicActivity objecten, ongeacht of deze aangepast zijn ontwikkeld of opgenomen in de ingebouwde activiteitenbibliotheek.
Uitgebreide opties voor samengestelde activiteiten
Flowchart is een krachtige nieuwe controlestroomactiviteit waarmee auteurs willekeurige lussen en voorwaardelijke vertakkingen kunnen modelleren. Flowchart biedt een gebeurtenisgestuurd programmeermodel dat voorheen alleen kon worden geïmplementeerd met StateMachineWorkflowActivity. Procedurele werkstromen profiteren van nieuwe stroombeheeractiviteiten die traditionele stroombeheerstructuren modelleren, zoals TryCatch en Switch<T>.
Uitgevouwen Built-In activiteitenbibliotheek
Nieuwe functies van de activiteitenbibliotheek zijn onder andere:
Nieuwe stroombeheeractiviteiten, zoals , DoWhile, Pick, TryCatch, ForEach<T>, Switch<T>en ParallelForEach<T>.
Activiteiten voor het bewerken van lidgegevens, zoals Assign en verzamelingsactiviteiten zoals AddToCollection<T>.
Activiteiten voor het controleren van transacties, zoals TransactionScope en Compensate.
Nieuwe berichtenactiviteiten, zoals SendContent en ReceiveReply.
Gegevensmodel voor expliciete activiteit
.NET Framework 4 bevat nieuwe opties voor het opslaan of verplaatsen van gegevens. Gegevens kunnen worden opgeslagen in een activiteit met behulp van Variable. Bij het verplaatsen van gegevens in en uit een activiteit worden gespecialiseerde argumenttypen gebruikt om te bepalen in welke richting gegevens worden verplaatst. Deze typen zijn InArgument, InOutArgumenten OutArgument. Zie Windows Workflow Foundation Data Model voor meer informatie.
Verbeterde opties voor hosting, persistentie en tracering
.NET Framework 4 bevat persistentieverbeteringen zoals de volgende:
Er zijn meer opties voor het uitvoeren van werkstromen, waaronder WorkflowServiceHost, WorkflowApplicationen WorkflowInvoker.
Werkstroomstatusgegevens kunnen expliciet worden persistent gemaakt met behulp van de Persist activiteit.
Een host kan een ActivityInstance behouden zonder het te lossen.
Een werkstroom kan zones zonder persistentie opgeven tijdens het werken met gegevens die niet kunnen worden persistent gemaakt, zodat persistentie wordt uitgesteld totdat de zone zonder persistentie wordt afgesloten.
Transacties kunnen worden gestroomd naar een werkstroom met behulp van TransactionScope.
Het bijhouden is eenvoudiger met behulp van TrackingParticipant.
Het bijhouden van het systeem gebeurtenislogboek wordt geleverd met behulp van EtwTrackingParticipant.
Het hervatten van een werkstroom in behandeling wordt nu beheerd met behulp van een Bookmark -object.
Eenvoudigere mogelijkheid om WF Designer-ervaring uit te breiden
De nieuwe WF Designer is gebouwd op Windows Presentation Foundation (WPF) en biedt een eenvoudiger model om te gebruiken bij het opnieuw hosten van de WF Designer buiten Visual Studio en biedt ook eenvoudigere mechanismen voor het maken van aangepaste activiteitontwerpers. Zie De ontwerpervaring voor werkstromen aanpassen voor meer informatie.