Pregunta

¿Cómo puedo utilizar ServiceController decirme si un servicio ha sido registrado o no? En el fragmento de código siguiente, el cheque por un valor nulo idioma resultado en un System.InvalidOperationException.

¿Hay una manera sencilla de hacer esto que estoy completamente perdido?

ServiceController sc = new ServiceController("TestService");

if (sc.DisplayName == null)
{
     // unregistered or missing service
}
¿Fue útil?

Solución

Mira la solución por debajo ... No parece que pueda ...

Desde el docs :

  

Puede utilizar el ServiceController   clase para conectar y controlar la   comportamiento de los servicios existentes.

Lo que se lee como los servicios que ya deben estar registrados para que el ServiceController para trabajar con ellos.

Creo que simplemente podría detectar la excepción (que indica el servicio no existe), pero eso no parece ser realmente excepcional lo hace?

Solución:

Uso

var services = ServiceController.GetServices(machineName)

y buscar la matriz para sus servicios necesarios. Si acaba de trabajar en su local de la caja se puede omitir el argumento machineName.

http://msdn.microsoft.com/en-us/library /s21fd6th.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top