Système.ComponentModel.Win32Exception: L'accès est refusé erreur

j'utilise le code c# pour démarrer et arrêter les services de la fenêtre mais je reçois cette erreur.

System.ComponentModel.Win32Exception: Access is denied

Merci de m'aider.

Mon Code:

 public void StartService(string serviceName, int timeoutMilliseconds)
    {
        ServiceController service = new ServiceController(serviceName);
        try
        {
            TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

            service.Start();
            service.WaitForStatus(ServiceControllerStatus.Running, timeout);
            lblMessage.Text = "Service Started.";
        }
        catch (Exception ex)
        {
            //lblMessage.Text = "Error in Service Starting.";
            lblMessage.Text = ex.ToString();
        }
    }
12
demandé sur Mahesh 2013-01-07 14:36:22

2 réponses

assurez-vous que votre compte d'identité de pool d'application sur votre serveur a les permissions pour démarrer ce service. Il fonctionne sur votre ASP.NET serveur de développement parce qu'il tourne sous votre compte d'utilisateur (admin) Dans une configuration IIS par défaut, ce compte est un service réseau ou ApplicationPoolIdentity (selon la version IIS) et ne peut généralement pas gérer les services.

ainsi, changez le compte de pool dans IIS Manager (Application Pools/Nameofyourpool/Advanced Settings). Vous pouvez utiliser un compte intégré ou utiliser l'un de vos domaine.

apppool

11
répondu Cybermaxs 2013-01-08 13:00:05

exécutez votre VS en mode administrateur et chargez votre projet.Ouvrir developer VS cmd en mode administrateur.Donnez le nom d'utilisateur approprié avec le nom de domaine de l'ordinateur comme nom de domaine\username.Espérons que cela fonctionnera.

4
répondu priyesh jaiswal 2018-01-16 07:16:41