2016-09-27 51 views
1

我想跟蹤我的消息使用內置接口CorrelatedBy<TKey>,但我不太明白:我應該自己初始化它,例如,在我的消息(命令)的構造函數中, ?如何初始化相關性在MassTransit

public class RegisterCallback : IRegisterCallback 
{ 
    public RegisterCallback() 
    { 
     CorrelationId = Guid.NewGuid(); 
    } 

    public Guid RequestId { get; set; } 
    public Guid CorrelationId { get; } 
} 

回答

2

您應該通過將它傳遞給構造函數或以其他方式將其作爲構造函數的一部分進行初始化來初始化它。

public RegisterCallback(Guid correlationId) {...} 

或者您可以使用NewId生成它以獲取有序標識符。

public RegisterCallback() 
{ 
    CorrelationId = NewId.NextGuid(); 
} 

而且,你的界面應該包括CorrelatedBy<Guid>如果你想使用的內置支持。

public interface IRegisterCallback : 
    CorrelatedBy<Guid> {...} 
+0

謝謝@Chris。你可以請幫助下一個問題(http://stackoverflow.com/questions/39706284/masstransit-is-there-a-way-to-log-income-messages)? – FSou1