如题

解决方案 »

  1.   

    protected override void OnStart(string[] args)
    {
    // TODO: 在此处添加代码以启动服务。

    }
     
    /// <summary>
    /// 停止此服务。
    /// </summary>
    protected override void OnStop()
    {
    // TODO: 在此处添加代码以执行停止服务所需的关闭操作。

    } /// <summary>
    /// 暂停服务
    /// </summary>
    protected override void OnPause()
    {

    } /// <summary>
    /// 恢复服务
    /// </summary>
    protected override void OnContinue()
    {

    }
      

  2.   

    OnStart的时候停止该服务?或者是终止该服务的启动? 没弄明白你想做什么。OnStart就是要启动服务阿。你为什么要在这里做停止服务?
    晕倒了
      

  3.   

    比如需要在 OnStart 里面 完成某些初始的动作 ,失败的时候,就终止 OnStart
      

  4.   

    是这样的,如果我在OnStart()里面调用 OnStop() 的话,它依然会显示启动成功的
    binbare(学习·学习·再学习!) 
    给了一个没有办法的办法
    Process[] killProcesses= System.Diagnostics.Process.GetProcessesByName("test.exe");
    foreach(Process procName in killProcesses)
    {
    procName.Kill();
    }
      

  5.   

    protected override void OnStart(string[] args)
    {
    // TODO: 在此处添加代码以启动服务。

    }
     
    /// <summary>
    /// 停止此服务。
    /// </summary>
    protected override void OnStop()
    {
    // TODO: 在此处添加代码以执行停止服务所需的关闭操作。

    } /// <summary>
    /// 暂停服务
    /// </summary>
    protected override void OnPause()
    {

    } /// <summary>
    /// 恢复服务
    /// </summary>
    protected override void OnContinue()
    {

    } protected override void OnStart(string[] args)
    {
    // TODO: 在此处添加代码以启动服务。

    }
     
    /// <summary>
    /// 停止此服务。
    /// </summary>
    protected override void OnStop()
    {
    // TODO: 在此处添加代码以执行停止服务所需的关闭操作。

    } /// <summary>
    /// 暂停服务
    /// </summary>
    protected override void OnPause()
    {

    } /// <summary>
    /// 恢复服务
    /// </summary>
    protected override void OnContinue()
    {

    }
      

  6.   

    if(this.CanStop == true)
    {
    this.OnStop();
    }
      

  7.   

    //apply try{}catch{}finally{} structure to your Start methed;
                       //and call the following method in the finally block;
                       //"threadAction" is your running thread
                       private void KillActionThread()
    {
    if (this.threadAction != null && threadAction.IsAlive)
    {
    threadAction.Abort();
    }
    }