Vérification d'un service non enregistré / manquant
-
21-09-2019 - |
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
}
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
.