SP 2010自定义工作流 - WinWF内部错误,仅在使用DelayActivity时终止工作流

时间:2013-06-10 22:31:51

标签: sharepoint sharepoint-2010 sharepoint-workflow

我有一个自定义工作流,我必须从delayActivity开始,因为激活流程的列表有一个事件接收器,可以在工作流初始化之前更新我需要的列。

当我使用DelayActivity时,它延迟了很好,事件接收器完成更新。但是,延迟完成后,工作流程将失败。 Hive Logs显示:

  • 工作流基础设施---- 88xr ------意外------ WinWF内部错误,终止工作流程ID#5ff955a1-5135-4e54-9e90-105e11952fee
  • 工作流基础结构---- 98d4 ----- Unexpected ------ System.NullReferenceException:对象引用未设置为对象的实例。

如果我删除延迟活动,工作流程就会启动,但是我需要的值不存在,因为事件接收器没有完成更新。

我尝试从事件接收器启动WF,但它只是挂起。 A while循环不起作用,因为它只是保持循环并保持事件接收器完成更新。我在这里结识了。 DelayActivity似乎是执行此操作的最佳方式,但此错误使其无法使用。

我将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的任何人,我找到了解决方案,不幸的是,它有点像PEBCAK错误。在延迟完成后,我正在引用一个null值。然而,在我的辩护中,我并没有意识到这种情况正在发生。这是因为我没有意识到当工作流在任务\活动之间休眠时,断点不会在重新激活时被击中。我仍然在研究是否可以纠正这种情况,或者情况是否如此。

所以无论如何,如果你在延迟活动后得到一些奇怪的错误,请在代码中进一步查看它是否可能是其他内容。