Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Ett arbetsflöde är en uppsättning elementenheter som kallas aktiviteter som lagras som en modell som beskriver en verklig process. Arbetsflöden är ett sätt att beskriva körningsordningen och beroenderelationer mellan delar av kort- eller långvarigt arbete. Det här arbetet går igenom modellen från början till slut och aktiviteter kan köras av personer eller av systemfunktioner.
Körmotorn för arbetsflöden
Varje arbetsflödesinstans som körs skapas och underhålls av en in-process-relaterad körmotor som värdprocessen interagerar med via något av följande:
En WorkflowInvoker, som anropar arbetsflödet som en metod.
En WorkflowApplication för explicit kontroll över körningen av en enda arbetsflödesinstans.
A WorkflowServiceHost för meddelandebaserade interaktioner i scenarier med flera instanser.
Var och en av dessa klasser omsluter den centrala aktivitetskörningen som representeras som en ActivityInstance och som ansvarar för att genomföra aktiviteter. Det kan finnas flera ActivityInstance objekt i en programdomän som körs samtidigt.
Vart och ett av de föregående tre objekten för värdinteraktion skapas från ett träd med aktiviteter som kallas ett arbetsflödesprogram. Med hjälp av dessa typer eller en anpassad värd som omsluter ActivityInstancekan arbetsflöden köras i valfri Windows-process, inklusive konsolprogram, formulärbaserade program, Windows-tjänster, ASP.NET webbplatser och WCF-tjänster (Windows Communication Foundation).
              
              
            
Arbetsflödeskomponenter i värdprocessen
Interaktion mellan arbetsflödeskomponenter
Följande diagram visar hur arbetsflödeskomponenter interagerar med varandra.
              
              
            
I det föregående diagrammet används Invoke-metoden i WorkflowInvoker-klassen för att anropa flera arbetsflödesfall. WorkflowInvoker används för enkla arbetsflöden som inte behöver hantering från värden; arbetsflöden som behöver hantering från värden (till exempel Bookmark återupptagande) måste köras med hjälp av Run istället. Du behöver inte vänta tills en arbetsflödesinstans har slutförts innan du anropar en annan. körningsmotorn har stöd för att köra flera arbetsflödesinstanser samtidigt. De arbetsflöden som anropas är följande:
En Sequence aktivitet som innehåller en WriteLine underordnad aktivitet. En Variable av den överordnade aktiviteten är bunden till en InArgument av den underordnade aktiviteten. Mer information om variabler, argument och bindningar finns i Variabler och Argument.
En anpassad aktivitet med namnet
ReadLine. En OutArgument avReadLine-aktiviteten returneras till den Invoke-metod som anropar.En anpassad aktivitet som härleds från den CodeActivity abstrakta klassen. CodeActivity kan komma åt körningsfunktioner (till exempel spårning och egenskaper) med hjälp av det CodeActivityContext som finns tillgänglig som en parameter i Execute-metoden. Mer information om dessa körningsfunktioner finns i Arbetsflödesspårning och loggning och Egenskaper för arbetsflödeskörning.