2017-11-13 18 views
2

私は佐賀を作成し、アクティビティの実行中に例外を処理する方法を知りました。理想的には、私は場合によってはそのサガインスタンスを殺すために、すぐに​​にしたいと思います。例外時の佐賀のファイナライズ

私はこのスレッドにつまずいた:Understanding "Finalize" in MassTransit、私の現在のアプローチは少し異なります。​​で私はSagaFaultedEventFaulted状態への遷移を公開:

.Catch<Exception>(e => e 
    .Publish(context => (ISagaFaultedEvent)new SagaFaultedEvent(context.Instance.Id)) 
    .TransitionTo(Faulted))); 

次にこれが答えに、しかし、動作するように思われる問題をログに記録し、

During(Faulted, 
    When(SagaFaulted) 
     .Activity(x => x.OfInstanceType<LogFaultedSagaActivity>()) 
     .Finalize()); 

インスタンスを完了することにより、このイベントを処理します上記スレッドには、にサガを直接ファイナライズする必要がありますが、にはFinalize()がありません。EventActivityBinderにアクセスすることはできません。

ここに何かが見つからない(おそらく)? Catch()で佐賀を直接ファイナライズすることはできますか?

答えて

2

これは、今日リリースされたAutomatonymousの3.6.1に追加されました。

+1

Chrisさん、ありがとうございました! – Slowacki

関連する問題