C# Windows工作流基础在报表需求中的应用

C# Windows工作流基础在报表需求中的应用,c#,workflow,reporting,workflow-foundation,C#,Workflow,Reporting,Workflow Foundation,一般来说,我想知道WF解决方案在应用程序中的可行性,在应用程序中,业务所有者需要关于应用程序状态和数据的广泛报告功能 我看到的主要问题是,WF倾向于隐藏在工作流实例中序列化的数据,例如收件人列表,因此无法以我知道的方式报告 另一方面,如果实例数据被写到外部资源(如sql表)中,那么您是否已经放弃了随意更改工作流的这一部分的能力(带走了WF的一个主要卖点) 在WF for.Net 3.5中,我了解SqlTrackingService可以提供有关工作流实例事件、活动事件和用户事件的原始数据。但是,我

一般来说,我想知道WF解决方案在应用程序中的可行性,在应用程序中,业务所有者需要关于应用程序状态和数据的广泛报告功能

我看到的主要问题是,WF倾向于隐藏在工作流实例中序列化的数据,例如收件人列表,因此无法以我知道的方式报告

另一方面,如果实例数据被写到外部资源(如sql表)中,那么您是否已经放弃了随意更改工作流的这一部分的能力(带走了WF的一个主要卖点)

在WF for.Net 3.5中,我了解SqlTrackingService可以提供有关工作流实例事件、活动事件和用户事件的原始数据。但是,我想知道在活动中记录大量实例数据到用户事件的可伸缩性。另外,我看到的SqlTrackingService使用的模式看起来很难在其上维护报告解决方案,特别是当工作流随着时间的推移而更新时。我错了吗

那么,当报告是一个主要问题时,有没有人成功地使用WF?如果是这样的话,我想听听它是如何做到的,如果WF只被隔离到应用程序的某些部分(数据不适用于报告),等等

也许,这也只是一个关于BPM解决方案中报告的问题

编辑:


我接受了莫里斯的回答,因为他花了时间来回答,但我仍然对这方面的任何其他意见感兴趣

将SqlTrackingService与跟踪配置文件结合使用非常有效,特别是在启用事务日志记录时。基本上,您希望使用跟踪配置文件仅跟踪您真正感兴趣的事件。您还可以告诉它提取并记录特定的用户数据

检索数据的主要方法不是通过SQL,尽管这是可能的,并且对于某些查询(如给定所有执行特定活动的工作流),而是SqlTrackingQuery类。这还将反序列化其他用户数据