C#Windows服务主要方法

我很好奇Main()方法究竟是如何在Windows服务中工作的,因为它与服务控制管理器有关。 什么时候执行? 它是如何挂钩操作系统的? 是否在安装服务时执行? 我知道它是在SCM调用OnStart()时执行的,OnStop()它已经在运行,所以我们不会再次执行它。

如果有人对这个领域了解很多并且可以详细说明我会很感激。

我是一名经验丰富的程序员,我不需要描述主要方法的一般用途……它是如何与Windows服务一起使用的。

当您使用控制面板小程序告诉服务启动时,SCM启动该过程; 这会导致Main()内部的代码运行。 Main()方法中的ServiceBase.Run()行将关联的服务挂钩到SCM中,然后SCM为ServiceBase.Run()方法调用中指定的每个服务调用OnStart()方法。