需要增加窗口服务超时

use*_*974 6 c# service window

我在启动窗口服务时遇到问题...因为我的服务的OnStart()事件有很大的负担,它会废弃数据,将其保存到数据库并发送电子邮件.所以我的服务需要增加开始时间,因为defualt超时是30秒......我已经发布了当我遇到以下异常时我的服务需要额外的时间来启动..

"无法在本地计算机上启动MyName服务.错误1053:服务未及时响应启动或控制请求."

Plz帮我... Thanx提前

Ehs*_*san 10

我意识到当我遇到以下异常时,我的服务需要额外的时间才能开始

在构造函数/启动上执行长运行任务并不好.你应该在sperate线程上开始你的长期运行任务.

服务启动应该是即时的,不应该挂断.

但是,如果你仍然想要,你可以这样做

ServiceBase.RequestAdditionalTime(4000); // add 4 seconds
Run Code Online (Sandbox Code Playgroud)

来自MSDN

RequestAdditionalTime方法旨在由重写的OnContinue,OnPause,OnStart或OnStop方法调用,以请求待处理操作的额外时间,以防止服务控制管理器(SCM)将服务标记为未响应.如果挂起的操作不是continue,pause,start或stop,则抛出InvalidOperationException.