NServiceBus で SAGA を作成しています。このサガは、変換して検証し、最後にインポートする必要がある文字列を処理しています。これら 3 つのアクションは別個のサービスです。NServiceBus の個別のハンドラーとしてアクションが必要です。NServiceBus でリクエスト/リプライ機能を使用しています。このような:
Bus.Send<TransformRequest>("Backend", m =>
{
m.string = string;
m.MessageId = messageId;
})
.Register(i =>
{
Console.WriteLine("transform finished")
});
変換ハンドラは次のとおりです。
public void Handle(TransformRequest message)
{
var transformationResult = _transformationService.Transform(message.string);
var response = new TransformResponse()
{
string= transformationResult,
messageId = message.messageId,
};
Bus.Reply(response);
}
私の質問は次のとおりです。リクエストが transformHandler に送信されたとき。メッセージキューにメッセージが送信されます。次に、サーバーがクラッシュします。サーバーが再起動し、サーバーが TransformationRequest を取得し、機能しており、Saga に応答したいのですが、どうすればよいでしょうか? サガはもう生きておらず、.Register を処理できません。この問題を処理するにはどうすればよいですか?
ありがとうございました。