Windows服务从控制面板超时关闭

时间:2014-08-07 16:32:22

标签: c# windows-services

我有一个用C#/。net 4.0编写的Windows服务来处理我的计时器中实现的一些冗长的工作。我想优雅地关闭它(等待所有当前的工作完成首先)。所以我在OnStop函数

中有以下代码
    protected override void OnStop()
    {
        this.jobTimer.Enabled = false;

        while (TotalRunningJobs > 0)
        {
            this.RequestAdditionalTime(4000);
            t.Thread.Sleep(4000);
        }
    }

TotalRunningJobs变量用于捕获计时器内发生的事情。使用上面的代码,如果作业无法及时完成,即使我已经使用Error 1053: The service did not respond to the start or control request in a timely fashion.,也会收到错误消息RequestAdditionalTime

知道为什么会这样吗?

0 个答案:

没有答案