ScheduledTaskAgent和PeriodicTask是否需要与主应用程序分开组装?

时间:2011-08-10 22:38:50

标签: windows-phone-7 windows-phone-7.1

我试图从微软那里跟随example,最好我可以告诉我做了所有事情,除了将ScheduledTaskAgent和PeriodicTask放在一个单独的程序集中。当我在模拟器中运行我的应用程序并尝试使用以下方式启动Periodic任务时:
ScheduledActionService.LaunchForTest(_task.Name,TimeSpan.FromSeconds(60));
没有任何事情发生,没有例外,一分钟后ScheduledTaskAgent永远不会启动,当我在模拟器上查看“设置>后台任务”时,没有列出任何内容。

1 个答案:

答案 0 :(得分:9)

是的,他们需要在一个单独的程序集中,您需要在WMAppManifest.xaml中引用它,如下所示:

<Tasks>
    <DefaultTask Name="_default" NavigationPage="Views/MainPage.xaml" />
    <ExtendedTask Name="BackgroundTask">
        <BackgroundServiceAgent Specifier="ScheduledTaskAgent" Name="DMI.ScheduledAgent" Source="DMI.TaskAgent" Type="DMI.TaskAgent.ScheduledAgent" />
    </ExtendedTask>

您可以在MSDN上阅读BackgroundServiceAgent属性的正确值。

如果您使用Visual Studio Windows Phone预设任务代理模板,BackgroundServiceAgent任务会自动添加到WMAppManifest.xaml中,并且值正确。