1

我构建了一个 Web 应用程序,它获取所选服务器上所有服务的列表。我在应用程序上启用了 Windows 身份验证。当我从 vs2010 运行时它工作正常,但是当我在本地机器 IIS 上部署相同的代码时,我收到如下所示的错误。我还从几台不同的用户机器上测试了网站,他们得到了同样的错误。关于如何解决这个问题的任何想法以及我需要在 IIS 中使用哪些设置才能发生这种情况。我可以访问所有服务器,测试应用程序的用户也可以访问这些服务器。

信息: Cannot open Service Control Manager on computer ''. This operation might require other privileges.

Inner Exception: System.ComponentModel.Win32Exception (0x80004005): Access is denied

Stack Trace:    at System.ServiceProcess.ServiceController.GetDataBaseHandleWithAccess(String machineName, Int32 serviceControlManaqerAccess)
   at System.ServiceProcess.ServiceController.GetDataBaseHandleWithEnumerateAccess(String machineName)
   at System.ServiceProcess.ServiceController.GetServicesOfType(String machineName, Int32 serviceType)
   at System.ServiceProcess.ServiceController.GetServices(String machineName)
4

1 回答 1

0

如果没有更多信息 - 听起来运行您的应用程序的应用程序池的身份没有足够的权限来访问 SCM。如果您希望使用通过 Web 应用程序进行身份验证的用户的凭据,则需要使用模拟。

几个问题 - 你在使用模拟吗?此外,如果您将应用程序池的身份更改为管理员(这不是长期解决方案,只是一个测试),是否可以解决错误?

于 2012-09-12T17:18:21.297 回答