监视和跟踪工作流应用程序实例

时间:2011-07-20 10:30:18

标签: entity-framework workflow workflow-foundation-4

我们创建了使用工作流应用程序实例的自定义工作流主机。 现在我们正在进行监控和跟踪,据我所知,两者的解决方案都是使用TrackingParticipant。我知道有很多支持使用AppFabric进行监控的WF服务,但不支持流程应用。

因此,我们决定创建一个TrackingParticipant,根据跟踪记录的类型触发不同的事件,然后我们有2个订阅某些事件的服务。这两个服务使用实体框架在不同的数据库中写入:MonitoringService(InstanceStore中的自定义表)和TrackingService(Framework表?)。

性能对我们来说非常重要,因为我们可以同时运行大量工作流实例(+10000)。

所以,我的问题是: - 是否有工具(事件收集,ETW,...)提供我们没有使用的框架并且可以提高性能? - 在wf跟踪中使用EF是不对的?

1 个答案:

答案 0 :(得分:2)

您可以使用EtwTrackingParticipant将跟踪编写到Windows事件日志中,该日志可以与WorkflowApplication一起使用。

除了使用EF将跟踪信息保存到数据库之外没有问题。请记住,这会产生额外的开销,因此最好让TrackingParticipant将消息放入队列中,如果您预计会有任何严重的负载,请在后台线程上执行实际的数据库插入。