Share via


Introducción a la comunicación con servicios existentes

Actualización: noviembre 2007

Puede utilizar el componente ServiceController para establecer conexión con los servicios existentes y controlar su comportamiento. Cuando cree una instancia del componente ServiceController, configúrela para que interactúe con un servicio de Windows específico. A continuación, podrá utilizar la instancia del componente para iniciar el servicio, detenerlo y manipularlo de cualquier otra forma. Por ejemplo, podría crear un componente ServiceController y utilizarlo con un componente Timer para iniciar y detener un servicio en función de un intervalo cronometrado.

Puede hacer varias cosas útiles con el componente ServiceController. Por ejemplo:

  • Puede iniciar y detener el servicio al que se encuentra conectado, pausarlo o ejecutar cualquiera de las demás acciones administrativas a las que el servicio es capaz de responder. Para obtener más información, vea Cómo: Realizar tareas administrativas en los servicios.

  • Puede consultar diversas propiedades del servicio con el que interactúa el componente y recuperar los valores de las propiedades. Por ejemplo, para determinar si es posible detener, pausar y continuar el servicio, podría recuperar el valor de las propiedades CanStop y CanPauseAndContinue.

  • Puede devolver una lista de los servicios existentes en un equipo determinado.

  • Puede especificar un comando personalizado que llame al servicio. Para obtener más información sobre los comandos personalizados, consulte MSDN Online.

En realidad, el componente ServiceController transfiere sus solicitudes de acción al Administrador de control de servicios en lugar de al propio servicio. El Administrador de control de servicios, a continuación, detiene o pausa el servicio, o bien ejecuta otras acciones especificadas. Una vez que el componente ServiceController transfiere la solicitud al Administrador de control de servicios, éste vuelve; no espera a que el Administrador de control de servicios transfiera la petición al servicio. Por este motivo, es conveniente controlar las excepciones dentro de la propia clase del servicio en lugar de hacerlo en la clase ServiceController.

Nota:

Por lo general, no resulta recomendable agregar un componente ServiceController a una aplicación de servicios de Windows si se pretende que el componente manipule el servicio incluido en el mismo proyecto. No se puede utilizar el código que crea un servicio dentro del proyecto para controlar el servicio, es necesario controlarlo desde otro contexto.

Vea también

Tareas

Cómo: Crear instancias de componentes ServiceController

Cómo: Realizar tareas administrativas en los servicios

Cómo: Recuperar listas de servicios

Ejemplo Service Manager