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