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.
En tillståndsdator är ett välkänt paradigm för utveckling av program. Aktiviteten StateMachine , tillsammans med State, Transitionoch andra aktiviteter kan användas för att skapa tillståndsdatorarbetsflödesprogram. Det här avsnittet innehåller en översikt över hur du skapar tillståndsdatorarbetsflöden.
Översikt över tillståndsdatorarbetsflöde
Tillståndsdatorarbetsflöden ger ett modelleringsformat som du kan modellera arbetsflödet med på ett händelsedrivet sätt. En StateMachine aktivitet innehåller tillstånd och övergångar som utgör logiken för tillståndsdatorn och kan användas var som helst där en aktivitet kan användas. Det finns flera klasser i tillståndsdatorns körningstid:
För att skapa ett tillståndsdatorarbetsflöde läggs tillstånd till i en StateMachine aktivitet och övergångar används för att styra flödet mellan tillstånd. Följande skärmbild från Kom igång-handledning steget Skapa ett tillståndsmaskinarbetsflöde visar ett tillståndsmaskinarbetsflöde med tre tillstånd och tre övergångar. Initiera Mål är det inledande tillståndet och representerar det första tillståndet i arbetsflödet. Detta anges av den rad som leder till den från startnoden . Det slutliga tillståndet i arbetsflödet heter FinalState och representerar den punkt där arbetsflödet har slutförts.
Ett tillståndsdatorarbetsflöde måste ha ett och endast ett initialt tillstånd och minst ett slutligt tillstånd. Varje tillstånd som inte är ett slutligt tillstånd måste ha minst en övergång. Följande avsnitt beskriver hur du skapar och konfigurerar tillstånd och övergångar.
Skapande och konfiguration av tillstånd
A State representerar ett tillstånd där en tillståndsdator kan vara i. Om du vill lägga till en State i ett arbetsflöde drar du aktivitetsdesignern Tillstånd från avsnittet Statemaskin i verktygslådan och släpper den på en StateMachine aktivitet på Windows Workflow Designer-ytan.
Om du vill konfigurera ett tillstånd som initialt tillstånd högerklickar du på tillståndet och väljer Ange som ursprungligt tillstånd. Om det inte finns något aktuellt initialt tillstånd kan du dessutom ange det ursprungliga tillståndet genom att dra en rad från startnoden överst i arbetsflödet till önskat tillstånd. När en StateMachine aktivitet släpps till arbetsflödesdesignern är den förkonfigurerad med ett initialt tillstånd med namnet State1. Ett tillståndsdatorarbetsflöde måste ha ett och endast ett inledande tillstånd.
Ett tillstånd som representerar ett avslutande tillstånd i en tillståndsdator kallas för ett slutligt tillstånd. Ett slutligt tillstånd är ett tillstånd som har sin IsFinal egenskap inställd på true, har ingen Exit aktivitet och inga övergångar som kommer från den. Om du vill lägga till ett slutligt tillstånd i ett arbetsflöde drar du en FinalState-aktivitet från avsnittet Tillståndsdator i Verktygslådan och släpper den på en StateMachine-aktivitet på Windows Workflow Designer-ytan. Ett tillståndsdatorarbetsflöde måste ha minst ett slutligt tillstånd.
Konfigurera åtgärder för in- och avslut
Ett tillstånd kan ha en Entry och en Exit åtgärd. (Ett tillstånd som har konfigurerats som ett slutligt tillstånd kan bara ha en inträdesåtgärd). När en arbetsflödesinstans anger ett tillstånd körs alla aktiviteter i inmatningsåtgärden. När inträdesåtgärden är klar schemaläggs utlösarna för tillståndets övergångar. När en övergång till ett annat tillstånd bekräftas utförs aktiviteterna i slutåtgärden, även om det övergår tillbaka till samma tillstånd. När avslutsåtgärden har slutförts körs aktiviteterna i övergångens åtgärd, och sedan övergår det till det nya tillståndet och dess initieringsåtgärder schemaläggs.
Anmärkning
När du felsöker ett tillståndsdatorarbetsflöde kan brytpunkter placeras på rottillståndsmaskinaktiviteten och tillstånden i arbetsflödet för tillståndsdatorn. Brytpunkter kan inte placeras direkt på övergångarna, men de kan placeras på aktiviteter som ingår i tillstånden och övergångarna.
Skapa och konfigurera övergångar
Alla tillstånd måste ha minst en övergång, förutom ett slutligt tillstånd, som kanske inte har några övergångar. Övergångar kan läggas till när ett tillstånd har lagts till i ett tillståndsdatorarbetsflöde, eller så kan de skapas när tillståndet tas bort.
Om du vill lägga till en State och skapa en övergång i ett steg drar du en tillståndsaktivitet från avsnittet tillståndsmaskin i verktygslådan och hovrar den över ett annat tillstånd i arbetsflödesdesignern. När den dragna State är över en annan State, kommer fyra trianglar att visas runt den andra State. Om State släpps på en av de fyra trianglarna läggs den till i tillståndsmaskinen och en övergång skapas från ursprung State till den målplatsen där den släpptes State. Mer information finns i Transition Activity Designer.
Det finns två alternativ för att skapa en övergång när ett tillstånd har lagts till. Det första alternativet är att dra tillståndet från arbetsflödesdesignerns yta och hovra det över ett befintligt tillstånd och släppa det på en av släpppunkterna. Detta liknar den metod som beskrivs i föregående avsnitt. Du kan också hovra musen över önskat källtillstånd och dra en linje till önskat måltillstånd.
Anmärkning
Ett enskilt tillstånd i en tillståndsdator kan ha upp till 76 övergångar skapade med hjälp av arbetsflödesdesignern. Gränsen för övergångar för ett tillstånd för arbetsflöden som skapats utanför designern begränsas endast av systemresurser.
En övergång kan ha en Trigger, en Conditionoch en Action. En övergång schemaläggs Trigger när övergångens källtillståndsåtgärd Entry är klar.
Trigger Vanligtvis är det en aktivitet som väntar på att någon typ av händelse ska inträffa, men det kan vara vilken aktivitet som helst eller ingen aktivitet alls. När Trigger-aktiviteten är klar utvärderas Condition om den finns. Om det inte finns någon Trigger-aktivitet, utvärderas Condition omedelbart. Om villkoret utvärderas till falseavbryts övergången och Trigger aktiviteten för alla övergångar från tillståndet schemaläggs om. Om det finns andra övergångar som delar samma källtillstånd som den aktuella övergången avbryts och schemaläggs även dessa Trigger åtgärder om. Om Condition utvärderas till true, eller om det inte finns något villkor, så utförs åtgärden för källtillståndet Exit och därefter utförs övergången Action. När Action är klar, överförs kontrollen till måltillståndet
Övergångar som delar en vanlig utlösare kallas delade utlösarövergångar. Varje övergång i en grupp med delade utlösarövergångar har samma utlösare, men en unik Condition och åtgärd. Om du vill lägga till ytterligare åtgärder i en övergång och skapa en delad övergång klickar du på cirkeln som anger början på den önskade övergången och drar den till önskat tillstånd. Den nya övergången delar samma utlösare som den första övergången, men den har ett unikt villkor och en unik åtgärd. Delade övergångar kan också skapas inifrån övergångsdesignern genom att klicka på Lägg till delad utlösarövergång längst ned i övergångsdesignern och sedan välja önskat måltillstånd från listrutan Tillgängliga tillstånd för att ansluta .
Anmärkning
Observera att om Condition utvärderas till False för en övergång (eller om alla villkor för en delad utlösarövergång utvärderas till False), sker inte övergången och alla utlösare för alla övergångar från tillståndet omläggs.
Mer information om hur du skapar tillståndsdatorarbetsflöden finns i How to: Create a State Machine Workflow, StateMachine Activity Designer, State Activity Designer, FinalState Activity Designer och Transition Activity Designer.
Tillståndsdatorterminologi
I det här avsnittet definieras tillståndsmaskinens vokabulär som används i hela ämnet.
Stat/län
Den grundläggande enheten som består av en tillståndsdator. En tillståndsmaskin kan vara i ett tillstånd vid en given tidpunkt.
Inträdesåtgärd
En aktivitet som körs när tillståndet påbörjas
Stäng åtgärd
En aktivitet som utförs vid utträde från tillståndet
Övergång
En riktad relation mellan två tillstånd som representerar det fullständiga svaret från en tillståndsdator på en förekomst av en händelse av en viss typ.
Delad övergång
En övergång som delar ett källtillstånd och en utlösare med en eller flera övergångar, men som har ett unikt villkor och en unik åtgärd.
Utlösare
En utlösande aktivitet som orsakar en övergång.
Tillstånd
En begränsning som måste utvärderas till true efter att utlösaren inträffar för att övergången ska slutföras.
Övergångsåtgärd
En aktivitet som körs när en viss övergång utförs.
Villkorsstyrd övergång
En övergång med ett explicit villkor.
Självövergång
En övergång som övergår från ett tillstånd till sig självt.
Ursprungligt tillstånd
Ett tillstånd som representerar startpunkten för tillståndsdatorn.
Slutligt tillstånd
Ett tillstånd som representerar slutförandet av tillståndsdatorn.