有时工作流实例会在没有完全执行的情况下自动删除

sometime Workflow instance is getting deleted automatically without executing completely

提问人:atul negi 提问时间:10/16/2019 更新时间:10/18/2019 访问量:147

问:

我们已经在 c#.NET 中实现了具有持久性的 Windows Workflow Foundation。在各种流程中,它运行平稳,但在 2 到 3 天的时间里,任何工作流实例都会突然从持久性表中消失,而不会留下任何线索。

我们搜索过例外情况,但没有运气。即使在事件查看器中也没有。

任何在这方面的帮助将不胜感激。

我们在互联网上搜索过,但没有运气。

为什么我的工作流会自动从持久性表中删除?

Windows 4 工作流基础

评论


答:

1赞 ajawad987 10/18/2019 #1

我怀疑您的工作流实例遇到了未经处理的异常,默认情况下,该异常会完全终止工作流,并且还会删除其任何持久性信息。

至少,您可以通过向属性添加处理程序来查看工作流实例中是否发生了任何异常。有关该属性的更多信息,请参阅此处WorkflowApplication.OnUnhandledException

有一种方法可以增强该默认行为,以便工作流应用程序中任何未经处理的异常都将其实例信息保留在持久性存储中,方法是添加 .WorkflowUnhandledExceptionBehavior

使用该行为的亮点是为您提供了将正在运行的实例“回滚”到以前持久化状态的选项。它还提供了仅保留持久性信息的功能,即使遇到未处理的异常也是如此。可以在此处找到有关设置该行为的文档。