目前我正在使用Windows服务继续在后台运行一些作业。这些工作是通过Quartz.Net安排的。通常这些是长期工作,跨度从5分钟到15分钟。如果作业当前正在运行,并且用户将尝试关闭Windows服务,则会抛出异常: Windows服务未及时响应。
实际上是WindowsService的OnShutdown()方法,我也试图关闭Quartz.Net。 我正在调用 scheduler.Shutdown(true)来停止调度程序&等待工作。如果我将此设置为False,则Windows Service会正常停止,但它会使正在运行的Job处于Unstable状态。请帮帮我。
答案 0 :(得分:6)
您收到此错误是因为您的服务未在约定的时间内完成停止。因此,SCM假定它以某种方式挂起并中止它。
要告诉SCM您需要更多时间来完成操作,请在ServiceBase.RequestAdditionalTime()
处理程序中调用OnStop
。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.requestadditionaltime.aspx