WF 4.0无法在登台/生产环境中恢复工作流程

时间:2012-06-11 04:36:25

标签: asp.net workflow-foundation-4 production-environment

我使用WF4.0开发了各种注册工作流程。每个工作流程都有各种书签。我正在使用注册wf作为asp.net应用程序。

我在本地测试了asp.net应用程序,它运行正常(启动WF,坚持使用db并恢复书签)。当我尝试在登台服务器上测试它时,一切都变得混乱。我再也无法恢复wfs而且收到错误消息:

  

System.Runtime.DurableInstancing.InstancePersistenceCommandException   用户代码未处理消息=执行   InstancePersistenceCommand命名   {瓮:架构 - 微软-COM:System.Activities.Persistence /命令} LoadWorkflow   被错误打断了。来源= System.Runtime.DurableInstancing   堆栈跟踪:          在System.Runtime.AsyncResult.End [TAsyncResult](IAsyncResult结果)          在System.Runtime.DurableInstancing.InstancePersistenceContext.OuterExecute(InstanceHandle)   initialInstanceHandle,InstancePersistenceCommand命令,Transaction   事务,TimeSpan超时)          在System.Runtime.DurableInstancing.InstanceStore.Execute(InstanceHandle   handle,InstancePersistenceCommand命令,TimeSpan超时)          在System.Activities.WorkflowApplication.PersistenceManager.Load(TimeSpan   超时)          在System.Activities.WorkflowApplication.LoadCore(TimeSpan timeout,Boolean loadAny)          在System.Activities.WorkflowApplication.Load(Guid instanceId,TimeSpan超时)          在System.Activities.WorkflowApplication.Load(Guid instanceId)          at c:\ Users \ Kunoichi \ Documents \ Visual Studio中的CEO_StartUpCEORegisterationTest.LoadInstance(Guid wfInstanceId)   2010 \项目\ CMERegistrationSystem \ RegistrationPortal \ CEO \ StartUpCEORegisterationTest.aspx.cs:行   64          at c:\ Users \ Kunoichi \ Documents \ Visual Studio中的CEO_StartUpCEORegisterationTest.Page_Load(Object sender,EventArgs e)   2010 \项目\ CMERegistrationSystem \ RegistrationPortal \ CEO \ StartUpCEORegisterationTest.aspx.cs:行   44          在System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)          在System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,   EventArgs e)          在System.Web.UI.Control.OnLoad(EventArgs e)          在System.Web.UI.Control.LoadRecursive()          在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)
  InnerException:System.Data.SqlClient.SqlException          消息=表'KeysTable'上的索引'NCIX_KeysTable_SurrogateInstanceId'(在FROM子句中指定)不存在。          Source = .Net SqlClient数据提供程序          错误码= -2146232060          类= 16          LineNumber上= 211          总数= 308          过程= LoadInstance          服务器=          状态= 1          堆栈跟踪:               在System.Runtime.AsyncResult.End [TAsyncResult](IAsyncResult结果)               在System.Activities.DurableInstancing.SqlWorkflowInstanceStoreAsyncResult.SqlCommandAsyncResultCallback(IAsyncResult)   结果)

我知道这很冗长。但是我一直在墙上撞了一个多星期。我做了搜索,我所知道的就是在ms dtc上工作。我在登台服务器上启用了它,我在登台服务器上安装了应用程序服务器,但我仍然遇到同样的错误。如果有人能帮助解决问题,我将不胜感激。在此先感谢:)

1 个答案:

答案 0 :(得分:1)

谁创建了在登台服务器上使用的持久性存储?用什么模式来创建它?寻找本地和生产中使用的脚本之间的差异。