カスタム 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>();
これを呼び出すために他に何かする必要がありますか?NSB ホストではなく、Windows サービスを使用しています。現在、バージョン 3.2.8 を使用しています。