gpt4 book ai didi

nservicebus - 在 NServiceBus 中,当没有匹配的 saga 消息传入时如何处理?

转载 作者:行者123 更新时间:2023-12-04 06:15:33 25 4
gpt4 key购买 nike

如果我有一个由两种消息类型组成的 saga,比如说由 message1 开始并由 message2 完成,如果 message2 在没有 message1 的情况下传入,我可以返回回调吗?我知道它会将它转储到错误队列中,但我希望能够向发送客户端返回一个状态,说明由于第一条消息不存在而导致错误状态。

最佳答案

所以我想通了,我只需要实现 IFindSagas对于消息类型:

public class MySagaFinder : IFindSagas<MySagaData>.Using<Message2>
{
public ISagaPersister Persister { get; set; }
public IBus Bus { get; set; }

public MySagaFinder FindBy(Message2 message)
{
var data = Persister.Get<MySagaData>("MessageIdProperty", message.MessageIdProperty);
if (data == null)
{
Bus.Return(0);
}
return data;
}
}

我不知道这是否是正确的方法,但它有效!

关于nservicebus - 在 NServiceBus 中,当没有匹配的 saga 消息传入时如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7290327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com