System.ComponentModel.Win32Exception:访问被拒绝错误(Syste

2019-07-17 22:27发布

我使用C#代码来启动和停止窗口发球,但我得到这个错误。

System.ComponentModel.Win32Exception: Access is denied

我的代码:

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

Answer 1:

让您的服务器上确保您的应用程序池标识帐户有权启动该服务。 它的工作原理你的ASP.NET开发服务器上,因为它的用户帐户(管理员)在默认的IIS配置下运行,这个帐户是网络服务或ApplicationPoolIdentity(取决于IIS版本),通常无法管理服务。

因此,更改IIS管理器中的池帐户(应用程序池/ NameOfYourYourPool /高级设置)。 您可以使用内置的帐户或使用您的域名之一。



Answer 2:

在管理员模式下运行VS并加载您project.Open开发者VS与计算机域名如域名\ username.Hope它会工作管理员mode.Give正确的用户名CMD。



文章来源: System.ComponentModel.Win32Exception: Access is denied Error