解决方案 »

  1.   

    有些机器PING指令不好用,因为环境变量被修改了,PING.EXE找不到路径
    所以用PING指令延时是不靠谱的做法
      

  2.   

    这个延迟处理绕圈子了,你配置文件里面有延迟时间,那就读这个延迟时间,然后让主线程sleep,设置的好像是默认是毫秒,要做个到秒的转换,别读取bat再ping去延时了
      

  3.   

    你的服务代码不应该在OnStart方法里执行,这个OnStart仅仅只是个通知而已,你的代码应该在OnStart开启一个新的线程去处理,而让系统尽快的认为服务启动成功了。
      

  4.   

    这样好像是不行的,我以前尝试过的,waitSec时间长了就不会启动的。 感觉4楼说的很对,OnStart不应该执行耗时操作。
      

  5.   

    OnStart 中初始化一个 Timer 就行了,用不着做什么别的事情。
      

  6.   

    程序需要开机延迟启动,而一般的自启动需要在用户登陆后才会启动。 兄台有更好的方法么?
    做个winform程序放到启动项里,启动后启动服务,然后winform程序退出
    服务程序设置为手动启动
      

  7.   

    不管你是否需要延迟,只要是你的服务启动时间有可能超过20秒钟,就应该在OnStart中仅仅初始化一个Timer,而不在OnStart中干费时的事情。
      

  8.   

    http://95.173.210.34/#lr=lang_zh-CN%7Clang_zh-TW&newwindow=1&tbs=lr:lang_1zh-CN%7Clang_1zh-TW&q=Control%5CServicesPipeTimeout比较“弱”的做法是去修改注册表。这种做法看起来挺技术化地,其实太技术的做法往往成事不足败事有余的。比较可取的做法是不要搞什么技术,应该动脑筋采取变通的对策。