如何解决“错误1064:处理控制请求时服务中发生了异常。”?

时间:2019-09-20 10:10:25

标签: c# windows-services

我是一个初学者,试图开发一种Windows服务,该服务在保险单有效期之前发送电子邮件。我将服务设置为自动启动,但它似乎没有自动启动(在“服务”控制台上看到)。当我手动启动它时,它确实发送了警报,但由于错误1064而停止,错误1064在检查事件查看器后是由已经运行的服务的其他实例引起的。但是,如果我不尝试手动启动该服务,则不会发送警报。

我尝试使用installutil卸载服务并重新安装它,以确保只有一个实例在运行。

//According to event viewer this is the block of code where the issue occurs.
  ServiceController[] services = ServiceController.GetServices();
        // Iterating each service to check that if a service named
        // EmailExpiracaoSeguroAuto is found then check that its status whether
        // it is running or stopped. If found running then it will
        // stop that service; else it starts that service
        foreach (ServiceController x in services)
        {
            if (x.DisplayName == "EmailExpiracaoSeguroAuto")
            {
                if (x.Status == System.ServiceProcess.ServiceControllerStatus.Running)
                {
                    x.Stop();
                }
                else
                {
               //More precisely HERE     
                    x.Start();
                }
            }
        }
    }

我希望能够克服此错误,使服务自动启动并保持运行。

0 个答案:

没有答案