重新启动已完成的任务

穆罕默德(Mohamad Mohamad)

我有一个在我的应用程序后台定期运行的任务。当我第一次运行它时,一切正常,任务运行完美。但是第二次之后,每当我使用task.Start()时,都会引发异常:

mscorlib.dll中发生了类型为'System.InvalidOperationException'的未处理异常。其他信息:可能不会在已完成的任务上调用Start。

我确定我的任务功能已经结束了..我应该怎么做才能定期运行任务?

默认

斯蒂芬·陶布Stephen Taub)对此进行了解释(我实际上可以建议阅读他有关任务的更多文章)

  1. 问题:我可以在同一任务上多次调用“开始”吗?

不能。一个任务只能从Created状态过渡一次,而Start可以将Task从Created状态过渡:因此,Start只能使用一次。任何尝试在未处于“已创建”状态的任务上调用“启动”的尝试都会导致异常。Start方法使用同步来确保Task对象保持一致状态,即使Start被并发多次调用也是如此。这些调用中只有一个可以成功。

..这也是您所看到的。例如,您可以使用计时器并每次启动一个新任务。
如果您需要一次只检查一次,则可以检查TaskStatus.RanToCompletion当前正在运行的任务

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 PowerShell 中重新启动已完成的后台作业

来自分类Dev

c#:在完成之前经过一定时间后,重新启动异步任务

来自分类Dev

防止计时器重新启动,直到它的异步任务完成

来自分类Dev

如何重新启动任务进程?

来自分类Dev

Nodemon重新启动运行gulp任务

来自分类Dev

Celery任务可以重新启动吗?

来自分类Dev

重新启动单个任务活动

来自分类Dev

如何重新启动任务栏?

来自分类Dev

禁用UpdateOrchestrator重新启动任务

来自分类Dev

取消并重新启动任务

来自分类Dev

重新启动以完成安装后无法启动Ubuntu

来自分类Dev

重新启动以完成安装后无法启动Ubuntu

来自分类Dev

查看已完成的 Elasticsearch 任务

来自分类Dev

如何完成KB3105213的安装-重新启动后仍然需要重新启动

来自分类Dev

重新启动ScheduledThreadPoolExecutor中的已取消任务

来自分类Dev

确保“重新启动”任务在它运行之前自动运行:

来自分类Dev

如何重新启动崩溃的受监管任务

来自分类Dev

长时间延迟AsyncTask和重新启动任务

来自分类Dev

如何管理基于Django的站点的任务停止或重新启动?

来自分类Dev

重新启动后,按计划的任务是否仍然存在?

来自分类Dev

设置任务计划程序以重新启动OneDrive(Win 10)

来自分类Dev

如何断言任务至少重新启动一次

来自分类Dev

捕获单个任务中的异常并重新启动它们

来自分类Dev

Scrapy Spider:完成后重新启动Spider

来自分类Dev

完成后如何重新启动python脚本

来自分类Dev

完成后计时器重新启动功能

来自分类Dev

完成后如何重新启动CABasicAnimation

来自分类Dev

完成后重新启动迭代器

来自分类Dev

重新启动CountDownTimer时,它完成工作

Related 相关文章

热门标签

归档