【问题标题】:Viewing WF trace logs查看 WF 跟踪日志
【发布时间】:2025-12-13 22:40:01
【问题描述】:

当使用 SqlWorkflowInstanceStore 持久化 Windows 工作流(托管在 IIS 中)时,我们会遇到“静默”中止。

根据http://support.microsoft.com/kb/2022538

如果服务是自托管或网络托管的,则此问题会创建一个 诊断跟踪。此外,异常错误和警告是 在 Windows 事件跟踪 (ETW) 跟踪日志中生成。

那篇文章解决了我们的第一个问题(尝试提升布尔属性),但现在我们遇到了具有相同症状的新问题。为了诊断它,我们需要查看这些跟踪日志。

在任何情况下,我都没有在事件查看器中看到这些日志。很有可能我没有找对地方,或者我必须先启用某些东西。

  • 如何查看这些日志?
  • (附加问题)如何订阅工作流中的诊断跟踪?
  • (附加问题 2)如果我在 Visual Studio 2010 中使用默认 Web 服务器(以前称为 Cassini)调试工作流,如何查看这些日志?

【问题讨论】:

    标签: iis .net-4.0 workflow-foundation-4 etw


    【解决方案1】:

    ETW 跟踪提供程序将其日志写入应用程序服务器-应用程序下的分析日志。

    您可以使用名为“System.Activities”的跟踪源添加标准 .NET 跟踪。有关示例配置,请参阅 here

    现在我很确定我理解第三个问题,因为查看日志与选择的托管应用程序无关。

    【讨论】:

    • 谢谢!在我启用分析日志后,它会记录看似无关的数据,但将 textListener 添加到 Web.config 会创建特定于工作流的日志。但是,当我复制提升的布尔问题时,我在任一日志中都没有找到 InstancePersistenceException。我发现的最接近的是“InternalReceiveMessage ...已在'故障'状态下完成”(没有详细信息)。有什么建议吗?
    • 尝试使用 System.Activities.DurableInstancing 和 System.Runtime.DurableInstancing 作为诊断跟踪源名称。
    • System.Activities.DurableInstancing 工作。问题是 DateTime.MinValue 不能使用;日期必须是 1753 年或更晚(SQL Server 最低)。再次感谢。