ServiceController sc = new ServiceController("my Server");调用都会嘛!!  启动也会嘛: sc.Start();  停止也会嘛: sc.Stop();那请问各位达人:   要重启window服务?如何整?---------------------------------
不要说先stop().后start()...那样说没意思!!

解决方案 »

  1.   

    stop后马上start肯定会报服务不存在地!!
      

  2.   

    Refresh是回到初始设置啊。跟重启的作用差不多吧?hoho
      

  3.   

    看看http://blog.csdn.net/greystar/archive/2006/04/03/648837.aspx
    是否有可参考的.
      

  4.   

    只是refresh是不行地!! -------------------
    感谢greystar...看过了!!
    我想到了!! net start sc   命令  哈哈!!
      

  5.   

    呵呵,因为Stop()之后,服务的状态不会马上变成Stopped,而是先StopPending状态,当然不能马上Start()啊~ 要过会才会变成Stopped,一旦状态变成Stopped,你就可以Start()。LZ 具体的你去MSDN看看吧,有好多状态的。毕竟系统关闭服务没有这么快啊。具体的解决方法,我想你明白了也知道该怎么做了吧
      

  6.   

    停止后等待一下服务的状态,然后再启动,我就是这么干的。 if (_service != null && _service.Status == ServiceControllerStatus.Running)
                {
                    ShowMsgText(string.Format("正在重新启动服务器[{0}]上的[{1}]服务……", MachineName, ServiceFlag));
                    _service.Stop();
                    _service.WaitForStatus(ServiceControllerStatus.Stopped);
                    _service.Start();
                    _service.WaitForStatus(ServiceControllerStatus.StartPending);
                    ShowMsgText(string.Format("成功重新启动服务器[{0}]上的[{1}]服务……", MachineName, ServiceFlag));
                    SetStatus();
                }