0

我正在尝试从我的 ASP.NET (.Net 4) 应用程序重新启动 Windows 服务(应用程序的一部分),但它失败并出现错误:

Cannot open <ServiceName> service on computer '.'.
Inner Exception: Access is denied
StackTrace:  at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
   at System.ServiceProcess.ServiceController.Start(String[] args)
   at NetClient.AvailabilityConfiguration.StartAvailabilityService(ServiceController serviceName, TimeSpan timeout)

该代码在我的开发机器(Windoes 7)和测试服务器(Windows 2008 R2)上运行良好,但在生产服务器上失败。唯一(也是最大的)区别是 UAC 在生产服务器上打开,而在开发和测试服务器上它是关闭的。

我尝试将 app.manifest 文件添加到 Web 应用程序以获取提升的权限,但它似乎不起作用。我已将 app.manifest 的“requestedExecutionLevel”属性配置为“requireAdministrator”,但似乎没有效果。

任何帮助将不胜感激。

谢谢阿朱

4

1 回答 1

0

我认为很明显,运行您的网络池的帐户无权管理服务(特别是启动、停止、暂停命令)。

查看您的池在哪个帐户下运行,并授予他管理服务器服务的权限。您可以使用组策略执行此操作,或打开安全模板。

阅读官方详细步骤,了解如何授予用户在 Windows Server 中管理服务的权限

于 2012-05-21T10:55:15.970 回答