如何解决如何在 MassTransit 中删除 Sagas?
在 MassTransit 中使用 Sagas,我可以添加一个持久性提供程序,以便他们的状态被持久化。但是,我可以以某种方式再次删除特定传奇的状态吗?如果这是自动完成的,什么时候完成?
解决方法
当你完成saga(finalize)并调用SetCompletedWhenFinalized()时,saga会自动删除;
DuringAny(
When(OrderCompleted)
.Finalize());
SetCompletedWhenFinalized();
或使用自定义完整定义
DuringAny(
When(OrderCompleted)
.TransitionTo(Completed));
SetCompleted(async instance =>
{
State<TInstance> currentState = await this.GetState(instance);
return Completed.Equals(currentState);
});
...
public State Completed { get; private set; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。