No es la respuesta correcta. Una aplicación de metro se ejecuta dentro del shell de Metro y dentro de un contenedor de ejecución que crea un entorno aislado lejos de los recursos del sistema, incluidos los servicios. Por esta razón, una aplicación de metro no puede acceder a un servicio local. Del mismo modo, por esta razón, una aplicación de metro no puede ser un servicio.
Las tareas en segundo plano y las notificaciones push a través de Windows Notification Services son la única forma en que una aplicación de metro puede interactuar con el usuario mientras no esté activa. De lo contrario, cuando la aplicación no está activa (no visible), todos sus hilos están suspendidos (a diferencia de un servicio).
En cuanto a las tareas en segundo plano, su actividad se limita de manera idéntica a una aplicación de metro y se limita a un solo segundo de CPU cada 2 horas (hay una excepción). Las notificaciones push se pueden ejecutar con mayor frecuencia, pero solo son capaces de actualizar un mosaico o generar una notificación de brindis.
La intención de una aplicación de Metro es diferente de una aplicación de escritorio tradicional:
aplicaciones Metro son independientes de la arquitectura (correr en Intel o el brazo). Las aplicaciones de Metro son de alcance táctil, diseñadas para pantallas táctiles. Las aplicaciones de Metro están completamente aceleradas por hardware. Las aplicaciones de Metro aprovechan el hardware de próxima generación que ofrecen los dispositivos certificados, incluida la duración de la batería sin precedentes. Las aplicaciones de Metro son las únicas aplicaciones entregadas por la tienda de Windows.
Mira, elegir una aplicación de metro significa ceder parte de la potencia ilimitada de las aplicaciones de escritorio. Sin embargo, las ganancias también son significativas.
Lo dudo mucho.¿Qué quieres hacer? – SLaks
Quiero usar varias capacidades que el estándar .NET no proporciona, y no quiero llamar a API nativas de C++ que es demasiado compleja. – user1343145
@ user1343145 Si .NET no es suficiente para solucionar su problema, y no desea utilizar el código nativo, ¿qué ** quiere ** usar? –