我正在使用 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。
任何帮助,将不胜感激。