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

Tyl*_*ler 7 windows-phone-7 windows-phone-7.1

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

Cla*_*sen 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>
Run Code Online (Sandbox Code Playgroud)

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

如果使用Visual Studio Windows Phone计划任务代理模板,BackgroundServiceAgent则会WMAppManifest.xaml使用正确的值自动添加任务.