Windows服务不工作

本文关键字:工作 服务 Windows | 更新日期: 2023-09-27 18:25:07

我是windows服务的新手,遇到了一个问题,我需要在启动方法上调用服务上的函数,但它不起作用。当我启动服务时,出现以下错误

"本地计算机上的MIM服务启动后停止如果服务未被其他服务使用,则服务将自动停止,或者程序"

我当前的代码在下面

public CHK()
{
    InitializeComponent();
}
protected override void OnStart(string[] args)
{
    Logger.Message("ChkUser", "Service Start", "");
    CheckUser();
}
protected override void OnStop()
{
    Logger.Message("MChkUser", "Service Stop", "");
}
public void CheckUser()
{
   //actions
}

如果我没有调用CheckUser()方法,那么服务就可以正常工作。这背后的原因是什么???

Windows服务不工作

最有可能的原因是您的CheckUser()方法抛出了一个未捕获的异常。。。

要查看异常是什么,只需将对方法的调用放入try-catch块中即可:

protected override void OnStart(string[] args)
{
    Logger.Message("ChkUser", "Service Start", "");
    try {
    CheckUser();
    } catch (Exception e) { 
      Logger.Message("ChkUser", e.Message, "");
    }
}