2013-07-30 46 views
0

我想用NServiceBus做一些使用自定義IManageUnitsOfWork實現的性能日誌記錄。不幸的是,我的自定義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); 
    } 
} 

我有統一的容器登記對象爲正常:

container.RegisterType<IManageUnitsOfWork, UnitsOfWorkManager>(); 

有沒有別的東西,我需要做的就是這個叫什麼?我正在使用Windows服務,而不是NSB主機。我目前正在使用3.2.8版本。

+1

你通過容器到您的NSB啓動代碼? –

回答

1

嘗試增加一個實例名稱登記:

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

顯然忘記了類型參數,謝謝Ben的編輯。 –