1

我正在使用 NSB 4。我有一个具有以下内容的传奇

BaseSaga<OrderSagaData>,
IAmStartedByMessages<OrderMessage>,
IHandleMessages<VendorCreatedMessage>, ....

BasSaga 只是包装了 saga。我不知道为什么我现在有更大的鱼要炸。

然后我有

public override void ConfigureHowToFindSaga()
{
     ConfigureMapping<VendorCreatedMessage>(m => m.SagaId).ToSaga(s => s.Id);

我的 OrderSagaData 看起来像这样

[Serializable]
public class OrderSagaData : IContainSagaData
{
    [Unique]
    public virtual Guid Id { get; set; }
    public virtual Guid MessageId { get; set; }

供应商创建消息

[Serializable]
public class VendorCreatedMessage 
{
    public Guid SagaId { get; set; }
    public Guid MessageId { get; set; }

然后终于在我的日志中我得到了

找不到 ID 为 7af7dff2-bf03-4ebd-9e6c-a27a01125ceb 的消息类型 Messages.Vendors.VendorCreatedMessage 的传奇。将调用 SagaNotFoundHandlers。

该消息是正确的名称空间,但 id (7af7) 不仅是错误的 id,而且我在其他任何地方都找不到。它不在供应商服务日志或传奇日志中。当我查看队列时,供应商服务正在发送正确的 SagaId。

我很困惑,不知道它在哪里变得奇怪(7af7)id 或者为什么它没有使用正确的 sagaid。

任何帮助,将不胜感激。

4

0 回答 0