后台任务终止下一次应用程序启动(Background task is terminated next

2019-09-18 10:38发布

我与打从MSDN后台任务代码示例(C#) 。 我修改了代码一点点,使其运行更长的时间,这样我可以看到,如果应用程序可以获得“重新连接”将它启动下一次的后台任务。 我的测试表明,当应用程序启动第二次后台任务总是被终止。 下面是测试细节:

后台任务是由触发SystemTriggerSystemTriggerType.TimeZoneChange ,和它的作品如预期,如果:

  1. 我第一次启动该应用程序,然后改变我区设置;
  2. 我先改变我的时区,然后启动该应用程序;

但是,如果我关闭应用程序(按ALT + F4),然后在后台任务完成之前再次启动它。 我会一直看到后台任务被终止。 有时我看到像“消息The program '[920] backgroundTaskHost.exe: Managed (v4.0.30319)' has exited with code 1 (0x1). ”在输出窗口。

为什么后台任务终止每次应用程序被再次启动的时间? 它是设计? 还是我失去了一些东西?

Answer 1:

这是该项目引用问题。

如果你退出程序与code 1 (0x1)当您运行backgrond任务,你应该添加后台任务项目原始项目的referece。

[Windows 8中]关于BackgroundTask死机问题向您展示如何解析引用。



Answer 2:

如果您在C#创建BackgroundTask,并使用Windows 8 RP,我想你可能必须设置该项目的输出类型WinMD文件,而不是类库。 您是否使用WinMD作为输出类型?



文章来源: Background task is terminated next time app launches