【问题标题】:Prompt User If Window service is stopped如果 Window 服务停止,提示用户
【发布时间】:2014-03-19 11:15:07
【问题描述】:

如果窗口服务停止,我想向用户发出通知。如何在 Code Behind(c#) 中获取状态:启动/停止?

【问题讨论】:

    标签: c# asp.net service window


    【解决方案1】:

    首先,如果您使用窗口服务,您已经在项目中包含了System.ServiceProcess 的引用。

    要获得 Windows 服务的状态,您必须执行以下步骤。

    第 1 步: 包含程序集

    using System.ServiceProcess;
    

    第 2 步:

    创建您的服务

    private ServiceController yourService = new ServiceController("yourService");
    

    第 3 步:

    if (yourService.Status == ServiceControllerStatus.Running)
            this.labelStatus.Text = "Running...";
    
    else if (yourService.Status == ServiceControllerStatus.Stopped)
            this.labelStatus.Text = "Stopped.";
    
    else if (yourService.Status == ServiceControllerStatus.StartPending)
            this.labelStatus.Text = "Starting...";
    
    else if (yourService.Status == ServiceControllerStatus.StopPending)
            this.labelStatus.Text = "Stopping...";
    
    else if (yourService.Status == ServiceControllerStatus.Paused || yourService.Status == ServiceControllerStatus.PausePending)
            this.labelStatus.Text = "Pause";
    else
            this.labelStatus.Text = "Processing";
    

    labelStatus 只是您设置 Windows 服务状态以向用户显示的标签。

    这是您可以轻松完成并处理任何类型的 Windows 服务状态的方式。

    在这些 if else 块中,你可以根据服务状态做任何你想做的事情。您可以根据窗口服务的启动和停止状态显示打开和关闭图标。

    【讨论】:

    • 非常好的解释@joker。好答案
    【解决方案2】:

    您可以使用ServiceController 组件连接到现有服务并控制其行为。当您创建 ServiceController 类的实例时,您设置它的属性以便它与特定的 Windows 服务交互。然后,您可以使用该类来启动、停止和以其他方式操作该服务。请参阅here 了解如何添加它和here 了解详细工作。

    【讨论】:

      【解决方案3】:

      试试这个

      using System.ServiceProcess;    
      ServiceController sc = new ServiceController(SERVICENAME);    
      if (sc.Status == ServiceControllerStatus.Stopped)
      {
          // do anything
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多