我创建了一个计划任务
Schedule.Every(TimeSpan.FromMinutes(1)).Action("TaskName",TaskMethod);
现在,如果我的 saga 的 Handle() 被执行 MarkAsComplete() 的传入消息调用,我创建的计划任务不会被取消。
如何取消任务?
我创建了一个计划任务
Schedule.Every(TimeSpan.FromMinutes(1)).Action("TaskName",TaskMethod);
现在,如果我的 saga 的 Handle() 被执行 MarkAsComplete() 的传入消息调用,我创建的计划任务不会被取消。
如何取消任务?
从文档:
创建任务时,它会被赋予一个唯一标识符。任务的标识符在消息中发送到超时管理器。当超时并且超时管理器将包含标识符的消息返回到带有计划任务的端点时, 端点使用该标识符从其内部任务列表中获取和调用任务。
和
您可以将计划任务视为一个简单的永无止境的传奇
因此,任务被安排在端点级别——仅仅因为您从 saga 调用任务并不意味着任务正在与 saga 相同的“范围”内执行。
在示例中,他们给出的调度程序是在总线启动时创建的,大概只有在主机容器停止运行时才会停止。