我正在尝试使用自定义 IManageUnitsOfWork 实现对 NServiceBus 进行一些性能日志记录。不幸的是,我的自定义 IManageUnitsOfWork 从未被调用,我不知道为什么。我当前的实现如下所示:
public class UnitsOfWorkManager : IManageUnitsOfWork
{
private readonly Logger logger;
private readonly Stopwatch stopwatch;
public UnitsOfWorkManager()
{
this.logger = LogManager.GetCurrentClassLogger();
this.stopwatch = new Stopwatch();
}
public void Begin()
{
this.stopwatch.Start();
}
public void End(Exception ex = null)
{
this.stopwatch.Stop();
this.logger.Info("HANDLERS ELAPSED DURATION: " + this.stopwatch.ElapsedMilliseconds);
}
}
我有我的 Unity 容器正常注册对象:
container.RegisterType<IManageUnitsOfWork, UnitsOfWorkManager>();
我还需要做些什么来调用它吗?我使用的是 Windows 服务,而不是 NSB 主机。我目前使用的是 3.2.8 版本。