2010-05-21 7 views
5

¿Hay situaciones en las que deberíamos usar un servicio de Windows?
Estoy construyendo un proyecto de cliente-servidor (C#) y se supone que el servidor debe trabajar solo sin ningún usuario, así que alguien me aconsejó usar un servicio de Windows para ejecutar el servidor, ¿es así? o hay mejores soluciones?¿Cuándo usamos el servicio de Windows?

+3

Si vas con un servicio , asegúrese de no mostrar un cuadro de diálogo de mensaje ni nada. Parece de sentido común, pero he visto muchas veces que una aplicación se desarrolla como una aplicación general donde los recuadros de mensajes se utilizan para la depuración, luego se implementa como un servicio sin eliminar esos cuadros de diálogo de depuración. –

Respuesta

6

En su situación me gustaría utilizar un servicio por las siguientes razones:

  • Usted no necesita tener una sesión de carrera. Esto es bueno para la seguridad y también reduce la sobrecarga en el servidor.
  • usted consigue algunos de los comandos managment construidas en forma gratuita
    • inicio
    • parada
    • Pausa
    • Continuar
  • que puede manejar los eventos del servidor como el apagado.
1

Debe crear un servicio de Windows para ejecutar código en segundo plano, sin interacción del usuario.

Por ejemplo, se ejecutará un servicio de Windows incluso si nadie ha iniciado sesión.

Cualquier servidor que acepte conexiones (como un correo, web o servidor FTP) normalmente debe ser un servicio de Windows.

7

Los servicios de Windows se usan normalmente cuando una aplicación necesita ejecutarse continuamente. Por ejemplo, si necesitan:

  1. Espere las solicitudes entrantes. (Al igual que a través de la interacción remota o WCF)
  2. supervisar un sistema de cola, archivo, etc.

Si un programa sólo tiene que ejecutar periódicamente, como una vez al día. Normalmente, es más fácil crear una tarea programada.

6

El servicio de Windows puede comenzar a ejecutarse tan pronto como se enciende la máquina, lo que lo hace ideal para funcionar como servidor, por ejemplo, servidor http. Nadie está obligado a iniciar sesión.

1

Bueno, un servicio de Windows proporciona un marco completo para que su aplicación funcione y permanezca activa mientras usted lo desee, por lo que creo que está bien.

1

servicios de Windows son lo que hay que utilizar para algo que debería funcionar todo el tiempo, si un usuario está conectado.

Si necesita algo para funcionar sin un usuario activo conectado, es necesario para usar un servicio de Windows.

1

Cuando necesite que la aplicación se inicie aunque nadie haya iniciado sesión físicamente en la máquina, lo cual es común con las máquinas servidoras, un servicio es un buen candidato en este caso. Especialmente porque el servicio se puede configurar para que se inicie automáticamente, lo que significa que el servicio se iniciará cuando la máquina se reinicie sin intervención humana.

Sin embargo, si usted está deseando host de servicios Web (WCF), mientras que un servicio es una opción, es posible que la posibilidad de acoger en IIS, esto le libera de escribir el código real de alojamiento, etc.

Cuestiones relacionadas