我写了一个服务程序,安装没问题,启动的时候显示:“错误1053: 服务没有及时响应启动或控制请求” 此时服务已经开始正常运行,但服务仍处于“正在启动”的状态,没法停止或者暂停,重启系统也是这样 一直没搞明白是什么问题,还请高手解答,谢谢 |
|
100分 |
启动动作应该在几毫秒只能完成,不要太慢(至少在服务器环境最不好的情况下也要保证在20秒内启动完毕)。
要在几毫秒启动,那么你的启动里边尽量不做什么工作,只要启动一个 timer 定时器就行了。 |
明白了,因为第一次写服务,很多概念都不太清楚,多谢指教
|
|
有的时候,你的服务的代码可能自定义部分比较多,很难说还有什么代码影响到了服务的启动。这时侯,其实就可以取消掉你的服务程序,而把它变为一个console程序(一个控制台程序,只不过开始之后进入一个Pending提示,然后等待用户按Ctrl+C键才退出console程序)。
然后你可以写一个只有是几行代码的服务程序——这叫做守护程序。它可以每隔几秒钟就查看一下内存中是否有需要守护的进程,如果没有就自动启动一个。(“进程名、进程启动路径”可以写到一个配置文件中随时修改提交)。 这个守护程序非常简单,而且一旦写了以后就用不需要修改了。而你以后就只需要开发控制台程序、然后修改一下守护程序的配置文件就行了,即使开发新的程序也不会再遇到类似的问题。 |
|
太感谢了,愁了大半天,一下豁然开朗了
|