スケジュールされたタスクを作成して開始しました
Schedule.Every(TimeSpan.FromMinutes(1)).Action("TaskName",TaskMethod);
これで、サガの Handle() が MarkAsComplete() を実行する着信メッセージによって呼び出された場合、作成したスケジュールされたタスクはキャンセルされません。
タスクをキャンセルするにはどうすればよいですか?
スケジュールされたタスクを作成して開始しました
Schedule.Every(TimeSpan.FromMinutes(1)).Action("TaskName",TaskMethod);
これで、サガの Handle() が MarkAsComplete() を実行する着信メッセージによって呼び出された場合、作成したスケジュールされたタスクはキャンセルされません。
タスクをキャンセルするにはどうすればよいですか?
ドキュメントから:
タスクが作成されると、一意の識別子が与えられます。タスクの識別子は、メッセージで Timeout Manager に送信されます。タイムアウトになり、タイムアウト マネージャーが識別子を含むメッセージをスケジュールされたタスクと共に エンドポイントに返すと、エンドポイントはその識別子を使用して、タスクの内部リストからタスクをフェッチして呼び出します。
と
スケジュールされたタスクを単純な終わりのない物語と見なすことができます
したがって、タスクはエンドポイント レベルでスケジュールされます。タスクをサガから呼び出しているからといって、タスクがサガと同じ「スコープ」で実行されているとは限りません。
例では、バスの開始時にスケジューラが作成され、おそらくホスト コンテナーの実行が停止したときにのみ停止します。