应如何在MassTransit初始化CorrelationId

时间:2016-09-27 10:48:23

标签: masstransit

我想使用内置接口CorrelatedBy<TKey>跟踪我的消息,但我不太明白:我应该自己初始化它,例如,在我的消息的构造函数中(命令) )?

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

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

1 个答案:

答案 0 :(得分:2)

您应该通过将其传递给构造函数来初始化它,或者将其作为构造函数的一部分生成。

public RegisterCallback(Guid correlationId) {...}

或者您可以使用NewId生成它以获取有序的标识符。

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

此外,如果您想使用内置支持,您的界面应包含CorrelatedBy<Guid>

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