在Windows服务中调用Environment.Exit

Cyg*_*nus 10 c# service exit

从Windows服务中调用Environment.Exit是否使SCM调用服务的onStop()方法,或者这种行为是不可预测的?

我有几个有这个代码的Windows服务.不幸的是,我无法删除此行为.但是我需要知道是否会调用onStop()来决定是在该方法中还是在调用Environment.Exit的方法中放置一些常用的停止代码.

Ofi*_*ris 12

Enviroment.Exit 将关闭由服务包装的进程.

因此,调用它,不会调用onStop()方法.

您可以自己调用该方法,而不是调用 Exit

您可以使用以下代码进行调用 SCM stop

System.ServiceProcess.ServiceController svc = new System.ServiceProcess.ServiceController("NameOfYourService");
svc.Stop();
Run Code Online (Sandbox Code Playgroud)