0

我正在尝试使用自定义 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 版本。

4

1 回答 1

1

尝试在注册中添加实例名称:

container.RegisterType<IManageUnitsOfWork, UnitsOfWorkManager>("UnitsOfWorkManager");
于 2013-09-21T21:03:50.477 回答