我试图为NServiceBus写一个工作单元,它将在每个消息处理程序之前和之后调用,以测量该处理程序运行并将其写入数据库所需的时间。
我能够成功编写工作单元,但在Begin()方法实现中,如何判断调用哪个处理程序?
答案 0 :(得分:0)
您可以使用ServiceInsight获取此类信息。有关详细信息,请参阅docs on ServiceControl和ServiceInsight。另一个频道可能是NServiceBus.Performance Counters。
答案 1 :(得分:0)
我会查看装饰器模式并通过依赖注入来处理它
示例 https://code.google.com/p/autofac/wiki/AdaptersAndDecorators
您可以为IHandleMessages接口创建装饰器,并配置所有消息处理程序以将代理返回到真实的消息处理程序,从而添加所需的检测逻辑。