During my arcStream presentation on September 28th (http://www.arcstreameast.net/) I received a number of inquires about the characteristics and behavior of WF in Asp.net applications.  The following references should help you get your arms around this topic.

 

First of all, there is a good bit of information on WF for ASP.NET applications out on http://wf.netfx3.com/.  For example:

Secondly, for an excellent overview on Workflow management, workflow persistence, persistence behavior (order of events) reliability and high availability check out:

I also sensed some confusion on a couple of points that I want to take the time to clear-up.

  • When a workflow is persisted it does not imply that the workflow has been unloaded from memory by the runtime.  It simple means that the state of the workflow has been captured and recorded in SQL.  A workflow can be persisted and unloaded, or it can be persisted and running.
  • Also, persistence can be automatically managed, manually triggered or a combination of both.  The hosting paper listed above discusses the types of events that can be triggered manually in order to affect workflow state and persistence behavior.
  • Workflows are frequently long running and effectively idle, waiting for an input from a user or other systems to continue. Because it is impractical to hold the idle workflows in memory, it is recommended that you persist the workflow instance state to a storage medium until the workflow receives the event that it is waiting for.  If a persistence service is not available or the workflow instance state is not persisted, any work done is lost should a failure occur.

Lastly, I recommend that you download the Windows Foundation SDK from the Windows SDK site.  The Windows Workflow SDK is part of Windows SDK. It contains WF Programming Guide References, API References, and various Technology and Application Samples.