我正在尝试使用自定义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版本。
答案 0 :(得分:1)
尝试在注册中添加实例名称:
container.RegisterType<IManageUnitsOfWork, UnitsOfWorkManager>("UnitsOfWorkManager");