2011-01-24 18 views
11

A veces veo que algunas aplicaciones se pueden ejecutar como un servicio en Windows, por ejemplo Apache HTTP Serverallows that. Siempre lo ejecuté como una aplicación normal y nunca tuve problemas ni limitaciones.Ventajas de ejecutar una aplicación como un servicio

  • ¿Cuáles son las ventajas de esto?
  • ¿Hay algo que las aplicaciones pueden hacer o tener cuando se ejecuta como un servicio?
  • ¿Cuáles son las ventajas para mí como desarrollador, cuando escribo un servicio frente a una aplicación normal?

Respuesta

13

El mayor beneficio de ejecutar una aplicación como servicio es que continuará ejecutándose incluso después de que el usuario actual cierre la sesión (y comenzará a funcionar antes de que un usuario inicie sesión). Además, los servicios normalmente se ejecutan bajo una cuenta de "Sistema" local en lugar de ejecutarse bajo el inicio de sesión de un usuario en particular (aunque los servicios pueden, y a menudo están, configurados para ejecutarse bajo un inicio de sesión de usuario específico, generalmente dedicado a tal fin).

Como desarrollador, probablemente no notarás mucha diferencia. Los procesos que se ejecutan en el escritorio generalmente son más fáciles de depurar si algo sale mal. Normalmente, debe configurar su aplicación para que pueda ejecutarse en cualquier modo, lo que facilita el desarrollo y es apropiada para la implementación.

5

Una cosa que me viene a la mente es que un servicio puede comenzar antes de que un usuario inicie sesión en el sistema. Considero que un servicio es la forma ideal de ejecutar un daemon que normalmente no tiene una interfaz gráfica de usuario frontend. Para un usuario es más difícil abandonar inadvertidamente, y está fuera de la vista y fuera de la mente.

3

Los servicios se ejecutan aunque ningún usuario haya iniciado sesión. Las aplicaciones interactúan con los usuarios.

Si necesita ambas, puede necesitar tener dos componentes, uno ejecutándose como servicio y otro interactuando con los usuarios.

Cuestiones relacionadas