我正在使用MSDN 中的后台任务代码示例 (c#)。我稍微修改了代码以使其运行时间更长,以便我可以查看应用程序是否可以在下次启动时“重新附加”到后台任务。我的测试表明,当应用程序第二次启动时,后台任务总是会终止。下面是测试细节:
后台任务由 aSystemTrigger
类型触发SystemTriggerType.TimeZoneChange
,并且在以下情况下按预期工作:
- 我先启动应用程序,然后更改我的 TimeZone 设置;
- 我先更改我的时区,然后启动应用程序;
但是,如果我关闭应用程序(按 ALT+F4),然后在后台任务完成之前再次启动它。我总是会看到后台任务被终止。有时我会The program '[920] backgroundTaskHost.exe: Managed (v4.0.30319)' has exited with code 1 (0x1).
在“输出”窗口中看到类似“”的消息。
为什么每次再次启动应用程序都会终止后台任务?是设计吗?或者我在这里错过了什么?