WF 4.0 can't get to resume workflow on the staging/production environment
- by Yasmine Atta Hajjaj
I have developed various registeration workflows using WF4.0. Each work flow has various bookmarks. I am using the registeration wf for an asp.net application.
I tested the asp.net application locally and it is working fine( Starting WF, Persisting to db and resuming bookmarks). When I try to test it on the staging server, everything goes messy. I can no longer resume wfs and I get an error message :
  System.Runtime.DurableInstancing.InstancePersistenceCommandException
  was unhandled by user code   Message=The execution of the
  InstancePersistenceCommand named
  {urn:schemas-microsoft-com:System.Activities.Persistence/command}LoadWorkflow
  was interrupted by an error.   Source=System.Runtime.DurableInstancing
  StackTrace:
         at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
         at System.Runtime.DurableInstancing.InstancePersistenceContext.OuterExecute(InstanceHandle
  initialInstanceHandle, InstancePersistenceCommand command, Transaction
  transaction, TimeSpan timeout)
         at System.Runtime.DurableInstancing.InstanceStore.Execute(InstanceHandle
  handle, InstancePersistenceCommand command, TimeSpan timeout)
         at System.Activities.WorkflowApplication.PersistenceManager.Load(TimeSpan
  timeout)
         at System.Activities.WorkflowApplication.LoadCore(TimeSpan timeout, Boolean loadAny)
         at System.Activities.WorkflowApplication.Load(Guid instanceId, TimeSpan timeout)
         at System.Activities.WorkflowApplication.Load(Guid instanceId)
         at CEO_StartUpCEORegisterationTest.LoadInstance(Guid wfInstanceId) in c:\Users\Kunoichi\Documents\Visual Studio
  2010\Projects\CMERegistrationSystem\RegistrationPortal\CEO\StartUpCEORegisterationTest.aspx.cs:line
  64
         at CEO_StartUpCEORegisterationTest.Page_Load(Object sender, EventArgs e) in c:\Users\Kunoichi\Documents\Visual Studio
  2010\Projects\CMERegistrationSystem\RegistrationPortal\CEO\StartUpCEORegisterationTest.aspx.cs:line
  44
         at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
         at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,
  EventArgs e)
         at System.Web.UI.Control.OnLoad(EventArgs e)
         at System.Web.UI.Control.LoadRecursive()
         at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException: System.Data.SqlClient.SqlException
         Message=Index 'NCIX_KeysTable_SurrogateInstanceId' on table 'KeysTable' (specified in the FROM clause) does not exist.
         Source=.Net SqlClient Data Provider
         ErrorCode=-2146232060
         Class=16
         LineNumber=211
         Number=308
         Procedure=LoadInstance
         Server=
         State=1
         StackTrace:
              at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
              at System.Activities.DurableInstancing.SqlWorkflowInstanceStoreAsyncResult.SqlCommandAsyncResultCallback(IAsyncResult
  result)
I know that this is quite verbose. But I have been banging my head against the wall for more than a week. I did search and all I came to know was to work on ms dtc. I enabled it on the staging server , I installed application server on the staging server and I am still getting the same error. I would appreciate if anyone could help with the problem. Thanks in advance :)