【求助】 Windows服务,开机自动启动却不执行OnStart方法
我做了一个Windows服务,不过遇到了一点问题,大家帮帮忙!服务设为自动后,开机时服务的确是启动了的,但是没有执行OnStart方法。没有能提供我想要的服务。
但是如果我手动重新启动服务,OnStart方法中的代码就执行了,启动了一个线程来执行我想要的服务。
调试这个问题的时候我在启动的方法里面加了一段代码:
protected override void OnStart(string[] args)
{
//在C盘写入一个文件(代码省略)
}
简单描述一下症状:
服务打包安装后,服务是已启动的,状态也是“自动”。这个时候服务提供的功能是正常的。而且在C盘写入了那个文件。
然后我重新启动电脑,重启完成后,查看服务状态是已启动,但是在C盘没有写入文件,也不能提供我设计的那个服务。
然后通过服务控制,重新启动这个服务,这时候在C盘又写入了那个文件,想要的服务也能提供了。
网上搜到的一些答案大概说是也许开机的时候服务运行所需的一些东西系统还没准备好…
我想问问大家,为什么开机启动的时候我的服务是已启动,但是却没有执行OnStart方法?
[[it] 本帖最后由 乖老鼠 于 2009-8-5 11:11 编辑 [/it]]