小编Fel*_*ter的帖子

我的Saga结构是正确的解决方案吗?(NServiceBus)

我会直截了当地说.我正在尝试通过发送到我们银行的文件自动化信用卡付款.卡付款未经银行实时验证.银行隔夜处理付款,并在第二天发送回复文件,同时付款成功和不成功.

我有一个网络应用程序,当它接受或取消付款时,会将包含付款/取消详细信息的消息(通过Bus.Send)发送到命令消息处理器.

然后处理器(通过Bus.Publish)发布这个以供查看的所有服务.

一项服务需要执行以下操作:

  • 收到第一条消息后开始传奇
  • 发出关闭业务的超时请求
  • 跟踪所有后续消息(在传奇中)
  • 收到超时后,将付款和取消信息转入银行档案.

问题是我不知道如何在传奇中存储消息集合(或其他任何事情),因为List <>不允许作为虚拟成员.

这是当前的传奇结构:

public class PaymentRequestCancelledSagaBase : IContainSagaData
    {
        // the following properties are mandatory
        public virtual Guid Id { get; set; }
        public virtual string Originator { get; set; }
        public virtual string OriginalMessageId { get; set; }

        // List of all the received PaymentRequestedMessages
        public virtual List<PaymentRequested> PaymentRequestedMessages;

        // List of all the received PaymentCancelledMessages
        public virtual List<PaymentCancelled> PaymentCancelledMessages;
    }
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

c# nhibernate nservicebus saga

3
推荐指数
1
解决办法
1919
查看次数

标签 统计

c# ×1

nhibernate ×1

nservicebus ×1

saga ×1