1日続く物語があります。
メッセージを受信したら、アクティブなサガを見つけて、Handle(message) メソッドで処理したいと考えています。
現在のメソッドが必要なため、ConfigureHowToFindSagas メソッドはありません。受信したすべてのメッセージは、タイムアウト メッセージが受信されるまで、1 つのサガに影響を与えます。新しいメッセージを受信すると、現在のサガが完了し、新しいサガが作成されます。しかし、私が読んだことから、これを行うには IFindSagas を実装する必要があり、おそらく私自身の Saga 永続化も必要です。
どこから始めればよいか、またこれが正しい方法かどうかについてアドバイスが必要です。私はまだインターフェイスの使用に比較的慣れていないため、コード例は役に立ちます。
// fragment from Saga<PaymentSagaBase>
public void Run()
{
ScheduleBatchIDForSession = Guid.NewGuid();
// Message handlers aren't auto-subscribed in Saga scenarios so it needs to happen here.
Bus.Subscribe<PaymentRequested>();
Bus.Subscribe<PaymentCancelled>();
Logger.Info(string.Format("Creating new Saga.");
RequestUtcTimeout(DateTime.Now.AddHours(23), "End of batch");
}