Intenté seguir este example de Microsoft, lo mejor que puedo decir es que hice todo excepto poner el ScheduledTaskAgent y PeriodicTask en un ensamblaje separado. Cuando ejecuto mi aplicación en el emulador e intento iniciar la tarea periódica usando:
ScheduledActionService.LaunchForTest (_task.Name, TimeSpan.FromSeconds (60));
No ocurre nada, sin excepciones y después de un minuto el ScheduledTaskAgent nunca se inicia y cuando miro en "Configuración> Tareas en segundo plano" en el emulador, no aparece nada.¿El ScheduledTaskAgent y PeriodicTask deben estar en un ensamblaje separado de la aplicación principal?
7
A
Respuesta
9
Sí, tienen que estar en un ensamblado independiente, y hay que hacer referencia a ella en su WMAppManifest.xaml
, así:
<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>
se puede leer en MSDN lo que los valores correctos para los BackgroundServiceAgent
atributos son.
Si utiliza el Visual Studio Windows Phone tarea programada Agente plantilla, la tarea BackgroundServiceAgent
se añade automáticamente en el WMAppManifest.xaml
con los valores correctos.
Cuestiones relacionadas
- 1. ¿Qué necesita estar en el hilo principal?
- 2. Mover constantes a un ensamblaje separado
- 3. ¿Los archivos .dmg deben estar firmados?
- 4. ¿Las metaetiquetas deben estar codificadas en HTML?
- 5. ¿Almacena sus clases de ayuda en un ensamblaje por separado?
- 6. ¿Las excepciones se deben colocar en un paquete separado?
- 7. Pasar y ejecutar delegar en un dominio de aplicación separado
- 8. ¿Cómo debo gestionar Test Harnesses en Git? ¿Deberían estar en un repositorio separado?
- 9. ¿Los campos de instancia/clase deben estar prefijados en Delphi?
- 10. eliminar tarea/PeriodicTask en apio
- 11. Periodictask no se está ejecutando
- 12. ¿Por qué la implementación y la declaración de una clase de plantilla deben estar en el mismo archivo de encabezado?
- 13. ¿Todos los métodos en la clase principal deben ser estáticos?
- 14. ¿Las anotaciones de datos deben estar en el modelo o en el modelo de vista?
- 15. ¿Cómo ejecutar un método en un dominio de aplicación separado?
- 16. ¿Deberían las interfaces estar en un proyecto separado de su implementación?
- 17. ¿Deben los archivos .class estar bajo control de versión?
- 18. Aplicación IOS: defina el protocolo en un archivo separado
- 19. Ejecutar una aplicación Java en un proceso separado
- 20. ¿Aplicación autoinstalable o instalador separado?
- 21. SensorEventListener en un hilo separado
- 22. ¿Es posible cambiar el nivel de registro de delayyed_job por separado de la aplicación principal de Rails?
- 23. Expandir un clúster de Cassandra con un nodo adicional: ¿qué puertos deben estar abiertos?
- 24. C++: ¿las funciones de amigo deben estar definidas en el archivo de encabezado?
- 25. QThread bloqueo principal aplicación
- 26. Referencia 3.5 ensamblaje desde la aplicación 2.0?
- 27. iPhone: Prueba de aplicación y ubicación principal
- 28. Cómo declarar un contexto de aplicación principal
- 29. La referencia principal "Microsoft.CSharp", que es un ensamblaje de marco, no se pudo resolver en el marco actualmente orientado
- 30. ¿Cuándo será necesario crear un proceso separado en una aplicación?
Así que lo dividí en un conjunto separado y lo veo enumerado en "Configuración> Tareas en segundo plano", pero todavía no ocurre nada. ¿Debo hacer algo especial para depurar el ScheuledTaskAgent? – Tyler
1 minuto es un período increíblemente largo. Intenta configurarlo en 0. Y no, nada especial, debería funcionar. Prueba usar un Toast para ver si realmente está ejecutando ShellTask. –
Gracias, Claus, tenía el nombre de clase incorrecto en el Manifiesto, está funcionando ahora. – Tyler