c# Windows服务自终止服务

本文关键字:服务 终止 Windows | 更新日期: 2023-09-27 18:04:00

如何让服务自终止?

环境。退出将导致应用程序启动,但服务仍在运行。

任何想法?

c# Windows服务自终止服务

您可以使用SCM从服务本身内部关闭您的服务:

System.ServiceProcess.ServiceController svc = new System.ServiceProcess.ServiceController("NameOfYourService");
svc.Stop();
编辑:

另一种选择是在你的服务中调用ServiceBase.Stop()——如果你可以访问你的ServiceBase派生类实例,这将是一种更干净的方式——在许多情况下,它是麻烦的,尽管必须传递这个依赖。

如果你有一个未捕获的异常,我个人会让服务崩溃(或记录它,然后throw),这将在事件日志中留下一条消息,详细说明终止原因。如果你绝对需要,你可以捕获异常,然后调用ServiceBase.Stop()