views:

10

answers:

0

Hi all
I use WF 3.0 to process many orders.
Perhaps much more than 2000 instances will exist at the same time.
I use a while activity to process each order,which will do something,then the last delayActivity will call persistence service.
I find if there is a small number of instances,that will be ok.
But when larger,an exception will be found.

System.Workflow.Runtime.Hosting.PersistenceException: Transaction (Process ID 62) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.


You know, that is because there are so many processes to visit the table "InstanceState".
I set 1 min for the loadingInterval param in the SqlWorkflowPersistenceService. But the exception will be found,too.
Is there any good idea to fix it? Thanks!