Representa a un servicio de Windows y permite conectarse a un servicio en ejecución o detenido, manipularlo u obtener información acerca del mismo.
Espacio de nombres: System.ServiceProcess
Ensamblado: System.ServiceProcess (en system.serviceprocess.dll)
Visual Basic (Declaración)
Public Class ServiceController
Inherits Component
Dim instance As ServiceController
public class ServiceController : Component
public ref class ServiceController : public Component
public class ServiceController extends Component
public class ServiceController extends Component
Se puede utilizar la clase ServiceController para conectarse y controlar el comportamiento de los servicios existentes. Al crear una instancia de la clase ServiceController, se pueden establecer las propiedades correspondientes de forma que interactúen con un servicio de Windows específico. De esta manera, se puede utilizar la clase para iniciar, detener o manipular el servicio.
Probablemente, se utilizará el componente ServiceController para tareas administrativas. Por ejemplo, se puede crear una aplicación para Windows o una aplicación Web que envíe los comandos personalizados a un servicio a través de la instancia de ServiceController. Esto podría resultar de utilidad, porque el complemento Microsoft Management Console del Administrador de control de servicios (SCM, Service Control Manager) no admite comandos personalizados.
Después de crear una instancia de ServiceController, se deben establecer dos propiedades en ella para identificar el servicio con el que interactúa: el nombre del equipo y el nombre del servicio que se desea controlar.
Nota |
|---|
| De forma predeterminada, la propiedad MachineName se establece en el equipo local, de forma que no sea necesario cambiarla a menos que se desee establecer que la instancia apunte a otro equipo. |
Normalmente, el autor del servicio escribe el código que personaliza la acción asociada a un comando específico. Por ejemplo, un servicio puede contener código para responder a un comando ServiceBase.OnPause. En tal caso, el procesamiento personalizado de la tarea Pause se ejecuta antes de que el sistema pause el servicio.
El conjunto de comandos que un servicio puede procesar depende de sus propiedades, por ejemplo, se puede establecer la propiedad CanStop en false para un servicio. Este valor representa el comando Stop no disponible en ese servicio concreto; impide que se detenga el servicio del SCM al deshabilitar el botón necesario. Si se intenta detener el servicio desde el código, el sistema provoca un error y muestra el mensaje de error "Error al detener servicename".
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.ServiceProcess.ServiceController
Seguridad para subprocesos
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.
.NET Framework
Compatible con: 2.0, 1.1, 1.0