使用NServiceBus连接自定义IManageUnitsOfWork?

时间:2013-07-30 18:05:22

标签: nservicebus

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

1 个答案:

答案 0 :(得分:1)

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

container.RegisterType<IManageUnitsOfWork, UnitsOfWorkManager>("UnitsOfWorkManager");