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>();

これを呼び出すために他に何かする必要がありますか?NSB ホストではなく、Windows サービスを使用しています。現在、バージョン 3.2.8 を使用しています。

4

1 に答える 1