views:

9

answers:

0

I'm writing an application using Windows Workflow Foundation that will be hosted on Windows Azure. I'm using SQLAzure, Azure Table Storage and Azure Blob Storage for various parts of the application.

Its necessary that I use Workflow Persistence, but the SQLPersistenceService scripts don't work against SQLAzure. I'm not good enough with MSSQL to rewrite them, or even determine what the limitation is. Because of that, I've written a custom persistence service that takes advantage of Azure Table Storage.

I used one of the MSDN code samples (http://msdn.microsoft.com/en-us/library/ms741725(v=VS.90).aspx) to build in functionality that reloads the Workflow instance when a DelayActivity expires.

The problem is, if the application goes down while the workflows are persisted when the application is started again the knowledge of when the delay activities expire is gone. I've tried to reconstruct that on application start, but I've had to reload every workflow to check its next activity. This is very cumbersome.

Does SQLPersistenceService handle this issue with persisting Delays?

Any other thoughts on how I could persist these delays to a durable store so they survive application restarts?