web-dev-qa-db-fra.com

System.ComponentModel.Win32Exception: l'accès est refusé Erreur

J'utilise le code C # pour démarrer et arrêter les fenêtres, mais j'obtiens cette erreur.

System.ComponentModel.Win32Exception: Access is denied

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();
        }
    }
13
Mahesh

Assurez-vous que votre compte d'identité de pool d'applications sur votre serveur dispose des autorisations pour démarrer ce service. Il fonctionne sur votre serveur de développement ASP.NET car il s'exécute sous votre compte d'utilisateur (admin) Dans une configuration par défaut IIS, ce compte est Service réseau ou ApplicationPoolIdentity (selon IIS version) et ne peut généralement pas gérer les services.

Modifiez donc le compte du pool dans IIS Manager (Pools d'applications/NameOfYourYourPool/Paramètres avancés). Vous pouvez utiliser un compte intégré ou utiliser l'un de vos domaines.

apppool

15
Cybermaxs

Exécutez votre VS en mode administrateur et chargez votre projet.Ouvrez le développeur VS cmd en mode administrateur.Donnez le nom d'utilisateur approprié avec le nom de domaine de l'ordinateur comme domainname\username.J'espère que cela fonctionnera.

4
priyesh jaiswal