我正在开发windows服务。在catch
块中,停止服务时出现异常。
系统。InvalidOperationException:"Service AirService不是在计算机的上找到
InnerException-Win32Exception:指定的服务不作为已安装的服务。
这是我的代码
catch (Exception ex)
{
//WriteToFile("Simple Service Error on: {0} " + ex.Message + ex.StackTrace);
//Stop the Windows Service.
using (System.ServiceProcess.ServiceController serviceController = new System.ServiceProcess.ServiceController("AirService"))
{
serviceController.Stop();
}
}
如何检查是否安装了服务?
您可以从ServiceController获得已安装服务的列表。GetServices((。
public static bool CheckServiceInstalled(string serviceToFind)
{
ServiceController[] servicelist = ServiceController.GetServices();
foreach (ServiceController service in servicelist)
{
if (service.ServiceName == serviceToFind)
return true;
}
return false;
}