c#windows service的OnShutdown事件失效

问题遇到的现象和发生背景

系统关机不触发OnShutdown事件但重启触发

问题相关代码,请勿粘贴截图

protected override void OnShutdown(){
LogHelper.WriteLog("ServiceTest 系统关机");
}

运行结果及报错内容

系统关机不触发OnShutdown事件但重启触发

我的解答思路和尝试过的方法

把CanShutdown 设置为true;
不管用

我想要达到的结果

关机可以触发OnShutdown事件

说实话,这事件没什么鸟用
万一非正常关机呢,有人把电源拔了呢,你写什么代码没电都没法执行
想精确的知道上次是什么时候关的,你可以写个心跳,在文件里或者数据库里不停更新一个时间
等程序再启动,你就知道上次是什么时候不再往里面写入了