无法打开服务错误

本文关键字:服务 错误 | 更新日期: 2023-09-27 18:23:46

我已经编写了一个windows服务。我正在尝试从我的web应用程序启动该服务。

ServiceController svcContrl = new ServiceController("TestService");
svcContrl.Start();

我可以在我的电脑->管理->服务中看到该服务。如果我从那里手动启动服务,它会正常工作。但是,当我尝试运行代码时,我收到一个异常"无法在[ComputerName]上打开TestService服务"。

我已经授予了aspnet用户、windows登录用户到服务的访问权限,bin/debug文件夹在代码运行时仍然会出现此异常。我是否遗漏了导致此异常的原因?

无法打开服务错误

InvalidOperationException可以在找不到服务时抛出,或者在服务本身中存在阻止其启动的错误时抛出。

假设你说你可以直接通过MMC应用程序启动服务,听起来你的代码中可能有错误的服务名称。

请尝试以下操作:http://msdn.microsoft.com/en-us/library/yb9w7ytd.aspx查看服务是否可以启动/停止等。

此代码(http://msdn.microsoft.com/en-us/library/hyd7kz8c(v=vs.90).aspx)显示了如何获取系统上的服务列表。可能有助于确定实际的服务名称。

下面是一个启动/停止服务的示例应用程序:http://www.codeproject.com/Articles/31688/Using-the-ServiceController-in-C-to-stop-and-start

我得到了解决方案。我使用的是Windows 2008 R2 IIS 6.1。默认情况下,它作为网络服务连接。因此,我需要更改虚拟目录的基本设置,并将其设置为作为我的机器登录凭据进行连接。谢谢大家,尤其是克里斯。