views:

87

answers:

0

I have got workflow instances running in a WorkflowServiceHost. The workflow is built as a state machine. I'm using the out of the box SqlWorkflowPersistenceService, configured with UnloadOnIdle = true and a instance lock time of 5 minutes (tried different values here).

These workflow instances are long running, when they wait to receive a message many hours or days can possibly elapse.

I now have got the problem that if a workflow instance is waiting for a message, this message must arrive within the lock time (a date in the InstanceState table), or after receiving the message the instance aborts as soon as the next persistence point is hit.

I always thought the lock time must be equal or longer than the max. duration between persistence points. It appears as when a message is received by the workflow instance, the lock time doesn't get updated in the InstanceState table.

Any ideas what could be done?