簡體   English   中英

如何在 MassTransit 中刪除 Sagas?

[英]How do Sagas get deleted in MassTransit?

使用 MassTransit 中的 Sagas,我可以添加一個持久性提供程序,以便它們的 state 被持久化。 但是,我可以以某種方式再次刪除特定傳奇的 state 嗎? 如果這是自動完成的,什么時候完成?

當你完成 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; }

更多文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM