C# – Workflow Engine for .NET


This is a multipart question:

First, what is your personal opinion of Workflow?

Second, are there any other good .NET-based workflow engines? Some information about my usage:

  • Using both static and dynamic workflows
  • Integrate with Castle (Monorail and Windsor)
  • Utilizing queuing via MSMQ
  • We want a simple, clean, non-leviathan framework.
  • GUI workflow editing is not really required, but I don't care if it has it.

I don't care whether the workflow is defined in DB, XML or Code, as however we decide to define it we can write an adapter if it's not already supported. Proprietary (free or fee) is fine, but open source is preferred.

Best Answer

I have used http://codeplex.com/simplestatemachine in one production system successfully (an ASP.NET system for handling 350+ different government business license issuance).

A simple state machine is implemented in Boo, so we just expose the definition in a text file which the system administrator can modify. In the editor we do verification to make sure the editing is correct and the workflow is actually functional.

Today I found this, https://github.com/nblumhardt/stateless, which looks interesting.

We switched to an open source alternative simply because our experience with Workflow was not good.