Today I was working on a demo for my windows Workflow Foundation sessions I will be presenting at Devdays coming Wednesday and I ran into a weird problem using the SqlWorkflowPersistenceService service.
I had a very simple workflow that does nothing more then wait for 5 seconds and then resume from the delay. (Using the delay activity)
I wanted to demonstrate that when adding the SqlWorkflowPersistenceService I would see WorkflowPersisted, WorkflowUnloaded and WorkflowLoaded events appear in my console.
But what happened in stead is that my workflow went from idle to abort!
I did some digging around the newsgroups bud did not find anyone having the same problem. What I found was a post that showed how you could make the SqlWorkflowPersistenceService better performing, by avoiding DTC(Distributed Transaction Coordinator) traffic. So I gave that a Try because I suspected my DTC was the problem. It appeared to have solved my problem. After some further investigation my local DTC service appeared not to be running and that caused to workflow to abort in the first situation. (B.t.w. I did not get any exception message telling me what went wrong, so I had to figure this out myself)
So I have the demo up and running happily and added some additional code to show how you can optimize SqlWorkflowPersistenceService as well avoiding DTC.
Hope this helps you solve the similar problem faster then I did J