Welche Alternativen gibt es zu Windows Workflow im .Net-Stack? Und wenn Sie diese Lösungen verwendet haben, warum haben Sie sie dann über Windows Workflow ausgewählt und war dies eine gute Wahl.Kann jemand eine .Net Open Source-Alternative zu Windows Workflow empfehlen?
Update:
Ich ging weiter und ausgewählte stateless von Nicholas Blumhardt erstellt. Dies ist ein sehr einfacher Ansatz zum Modellieren von Zuständen in einer Domäne. Im Folgenden finden Sie Beispielcode bei Google zur Verfügung gestellt:
var phoneCall = new StateMachine<State, Trigger>(State.OffHook);
phoneCall.Configure(State.OffHook)
.Allow(Trigger.CallDialed, State.Ringing);
phoneCall.Configure(State.Ringing)
.Allow(Trigger.HungUp, State.OffHook)
.Allow(Trigger.CallConnected, State.Connected);
phoneCall.Configure(State.Connected)
.OnEntry(t => StartCallTimer())
.OnExit(t => StopCallTimer())
.Allow(Trigger.LeftMessage, State.OffHook)
.Allow(Trigger.HungUp, State.OffHook)
.Allow(Trigger.PlacedOnHold, State.OnHold);
phoneCall.Configure(State.OnHold)
.SubstateOf(State.Connected)
.Allow(Trigger.TakenOffHold, State.Connected)
.Allow(Trigger.HungUp, State.OffHook)
.Allow(Trigger.PhoneHurledAgainstWall, State.PhoneDestroyed);
Wie Sie die Zustandsmaschine Generika sehen können, verwendet die Staaten und ihre jeweiligen Trigger zu modellieren. Mit anderen Worten, Sie können Enums, Integer, Strings usw. verwenden, um Ihren Anforderungen zu entsprechen. Jeder Status der Statusmaschine kann mit bedingten Triggern konfiguriert werden, die basierend auf bestimmten Kriterien ausgelöst werden.
Warum? Was ist falsch mit Windows Workflow Foundation? – SLaks
-1 für keine weiteren Kriterien zu vergeben! WF. –
Eigentlich bin ich geneigt zuzustimmen, dass WF einige Fehler hat, besonders für Staatsmaschinen. Ich wäre daran interessiert, Ihre eigenen Gründe für "! WF" zu sehen, und alle Antworten ... Im Moment benutze ich ein teures Produkt dafür ... und erwäge, meine eigene Workflow-Engine zu rollen, die besser für meine Bedürfnisse funktioniert (für lang andauernde zustandsbehaftete Geschäftsprozesse, bei denen der Prozess selbst während der Lebenszeit einzelner Fälle mutiert). –