c#服务程序onstart调用的问题

服务安装了,设置为自动,但是重启之后并没有调用onstart方法,只有手动停止服务再启动才调,如果重启不执行的话那如果我想通过服务来实现某种功能的时候难道就必须要有意识地开启这个服务吗。我想要一个服务从被安装开始到卸载一直执行我写的方法,有什么思路可以实现吗?

在菜单点关机时并没有停止服务,自然在开机的时候不会重新调onstart。在菜单关机执行的是快速关机,快速关机不会停止服务,如果用shutdown -s -t 0关机,则会调用onshutdown方法,但不会调用onstop。如果服务设置了自动启动,则在开机之后执行onstart。
参考:
https://www.zhihu.com/tardis/sogou/qus/64257728
https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-1.1/za79d99t(v=vs.80)