我使用 WF4.0 开发了各种注册工作流程。每个工作流程都有不同的书签。我正在将注册 wf 用于 asp.net 应用程序。
我在本地测试了 asp.net 应用程序,它工作正常(启动 WF,持久化到 db 并恢复书签)。当我尝试在登台服务器上对其进行测试时,一切都变得一团糟。我无法再恢复 wfs 并且收到一条错误消息:
System.Runtime.DurableInstancing.InstancePersistenceCommandException 未被用户代码处理 Message=名为 {urn:schemas-microsoft-com:System.Activities.Persistence/command}LoadWorkflow 的 InstancePersistenceCommand 的执行被错误中断。Source=System.Runtime.DurableInstancing StackTrace:在 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult 结果)在 System.Runtime.DurableInstancing.InstancePersistenceContext.OuterExecute(InstanceHandle initialInstanceHandle,InstancePersistenceCommand 命令,事务事务,TimeSpan 超时)在系统。 System.Activities.WorkflowApplication.PersistenceManager 中的 Runtime.DurableInstancing.InstanceStore.Execute(InstanceHandle 句柄,InstancePersistenceCommand 命令,TimeSpan 超时)。
InnerException:System.Data.SqlClient.SqlException 消息 = 表“KeysTable”(在 FROM 子句中指定)上的索引“NCIX_KeysTable_SurrogateInstanceId”不存在。Source=.Net SqlClient Data Provider ErrorCode=-2146232060 Class=16 LineNumber=211 Number=308 Procedure=LoadInstance Server= State=1 StackTrace:在 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult 结果)在 System.Activities。 DurableInstancing.SqlWorkflowInstanceStoreAsyncResult.SqlCommandAsyncResultCallback(IAsyncResult 结果)
我知道这很冗长。但是一个多星期以来,我一直在用头撞墙。我进行了搜索,我所知道的只是在 ms dtc 上工作。我在登台服务器上启用了它,我在登台服务器上安装了应用程序服务器,但我仍然遇到同样的错误。如果有人能帮助解决这个问题,我将不胜感激。提前致谢 :)