有时工作流实例会自动删除,而不会完全执行



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

我们已经搜索了例外,但没有运气。 甚至在事件查看器中也没有。

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

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

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

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

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

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

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

最新更新