Может ли кто-нибудь рекомендовать альтернативу Open Source с открытым исходным кодом для Windows Workflow?

Какие альтернативы существуют для рабочего процесса Windows в стеке .Net? И если вы использовали эти решения, что заставило вас выбрать их в Windows Workflow, и это был хороший выбор.


Update:

Я пошел вперед и выбрал stateless, созданный Николасом Блумхардтом. Это очень простой подход к моделированию состояний в домене. Ниже приведен пример кода в google:

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);

Как вы можете видеть, конечный автомат использует generics для моделирования состояний и их соответствующих триггеров. Другими словами, вы можете использовать перечисления, целые числа, строку и т.д. В соответствии с вашими потребностями. Каждое состояние конечного автомата может быть сконфигурировано с условными триггерами, которые будут срабатывать по конкретным критериям.

Ответы