procédure de redémarrage de la fenêtre de service
je veux redémarrer fenêtre de service nommé "Spooler" je n'ai code suivant , mais pas de chance, Tout corps a une idée sur ce qui se passe mal?
le code est
using System.ServiceProcess;
ServiceController service = new ServiceController("Spooler");
if ((service.Status.Equals(ServiceControllerStatus.Stopped)) ||
(service.Status.Equals(ServiceControllerStatus.StopPending)))
{
service.Start();
}
else
{
service.Stop();
service.Start();
}
exception est
"Du système.InvalidOperationException: Impossible de démarrer le service Spouleur sur
ordinateur '.'. ---> Système.ComponentModel.Win32Exception: Une instance
le service est déjà en cours d'exécution--- Fin de l'exception interne trace de la pile ---
au Système.ServiceProcess.ServiceController.Start(String[] args)
au Système.ServiceProcess.ServiceController.Start()
à servicerestart.Form1.button1_Click(Object sender, EventArgs e)
dans D:\samplecodes\servicerestart\servicerestart\Form1.cs:line 33"
but no luck
n'est pas très précise de la description du problème. Pourriez-vous effectuer une description du problème n'impliquant pas de chance ou Dieu, mais impliquant béton messages d'erreur ou un comportement indésirable.- Dimitrov, j'ai mis à jour ma question
Vous devez vous connecter pour publier un commentaire.
Vous devez attendre après l'arrêt du service avant de commencer une fois de plus à l'aide de la
WaitForStatus
méthode:Running
au lieu deStarted
. J'ai mis à jour ma réponse.service.Start();
ligne et de ne pas l'exécuter jusqu'à ce que le service a été arrêté.Je pense que le problème, c'est que vous avez besoin des privilèges d'administrateur pour démarrer et arrêter le service, c'est pourquoi vous devez donner les droits nécessaires.
pour ce faire, allez à modifier l'identité de pool d'applications dans l'ISS pour le système local.
Espérons que cette aide