Question

Comment puis-je utiliser ServiceController pour me dire si un service a été enregistré ou non? Dans le fragment de code, la vérification pour une valeur nulle displayname résultats dans un System.InvalidOperationException.

Y at-il un moyen simple de faire ce que je suis complètement absent?

ServiceController sc = new ServiceController("TestService");

if (sc.DisplayName == null)
{
     // unregistered or missing service
}
Était-ce utile?

La solution

Regardez ci-dessous la solution ... Il ne semble pas que vous pouvez ...

De la docs :

  

Vous pouvez utiliser le ServiceController   classe pour se connecter et contrôler la   le comportement des services existants.

Ce qui se lit comme les services doivent déjà être enregistrés pour que le ServiceController de travailler avec eux.

Je suppose que vous pouvez simplement attraper l'exception (indiquant le service n'existe pas), mais cela ne semble pas être vraiment exceptionnel le fait?

Solution:

Utilisez

var services = ServiceController.GetServices(machineName)

et recherchez le tableau pour vos services nécessaires. Si vous êtes juste à travailler sur votre boîte locale, vous pouvez omettre l'argument machineName.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top