我想使用内置接口CorrelatedBy<TKey>
跟踪我的消息,但我不太明白:我应该自己初始化它,例如,在我的消息的构造函数中(命令) )?
public class RegisterCallback : IRegisterCallback
{
public RegisterCallback()
{
CorrelationId = Guid.NewGuid();
}
public Guid RequestId { get; set; }
public Guid CorrelationId { get; }
}
答案 0 :(得分:2)
您应该通过将其传递给构造函数来初始化它,或者将其作为构造函数的一部分生成。
public RegisterCallback(Guid correlationId) {...}
或者您可以使用NewId
生成它以获取有序的标识符。
public RegisterCallback()
{
CorrelationId = NewId.NextGuid();
}
此外,如果您想使用内置支持,您的界面应包含CorrelatedBy<Guid>
。
public interface IRegisterCallback :
CorrelatedBy<Guid> {...}