0

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

当我使用 DelayActivity 时,它会延迟正常并且事件接收器完成更新。但是,当延迟完成时,工作流会失败。Hive 日志显示:

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

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

我尝试从事件接收器启动 WF,但它只是挂起。while 循环也不起作用,因为它只是不断循环并阻止事件接收器完成更新。我有点不知所措。DelayActivity 似乎是执行此操作的最佳方法,但此错误使其无法使用。

我将不胜感激任何帮助。

谢谢你。

4

1 回答 1

0

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

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

于 2013-06-12T13:58:17.253 回答