C# 如何延长windows服务关闭的等待时间?

C# 如何延长windows服务关闭的等待时间?,c#,.net,windows-services,C#,.net,Windows Services,对windows服务使用RequestAdditionalTime不会延长足够长的等待时间。 我得等工作完成,所以我继续干下去 while (gs_bisProcessing) { OnRequestMoreTime(20000); Thread.Sleep(20000); } 但作业仍然需要足够长的时间,服务在停止时会显示消息框,表明服务没有及时响应。。。即

对windows服务使用RequestAdditionalTime不会延长足够长的等待时间。 我得等工作完成,所以我继续干下去

            while (gs_bisProcessing)
            {
                OnRequestMoreTime(20000);
                Thread.Sleep(20000);
            }
但作业仍然需要足够长的时间,服务在停止时会显示消息框,表明服务没有及时响应。。。即使刷新,服务的状态也会保持“停止”。 那么现在该怎么办呢?
我也想在关机时做同样的事情?有什么想法吗?

你是说请求额外时间(毫秒)


我可能会在20秒前检查一下,这似乎是一个神奇的数字。我不会睡那么久,但可能会每隔10-15秒检查一次你的国旗

OnShutdown
处理程序中调用
RequestAdditionalTime
将导致
InvalidOperationException