我有一项任务将记录功能添加到现有的基于工作流程的解决方案。有一个分层架构:BusinessLayer-> AgentLayer-> StoreLayer。在业务层有一个由一个或多个代理活动组成的xaml活动。代理活动由一个或多个商店活动组成。代理和商店活动是从CodeActivity继承的。如何记录工作流程基础活动
活动由
WorkflowInvoker.Invoke(activity);
我的任务执行的是记录每个活动的执行。日志输出。应该是例如
BusinessActivity1 has been started at 11:00 8.2.2012
AgentActivity1 has been started at 11:01 8.2.2012
StoreActivity1 has been started at 11:02 8.2.2012
StoreActivity1 has been ended at 11:03 8.2.2012
AgentActivity1 has been ended at 11:04 8.2.2012
BusinessActivity1 has been ended at 11:05 8.2.2012
所以我的问题是什么是记录类似这样的最佳做法。我不想将LogMessage写入每个活动。我更喜欢统一的解决方案。是否存在任何聪明的解决方案?
感谢
只是一个想法:您可以创建一个自定义活动,将所有其他活动包装在工作流中。这个自定义活动可以在每次执行内部活动时执行日志操作。我之前看到过这个模式可行(我没有任何代码,很抱歉),并且系统能够跟踪工作流服务的执行情况。 – 2012-02-08 14:46:09