Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何知道我的Windows服务何时不工作_C#_Windows Services - Fatal编程技术网

C# 如何知道我的Windows服务何时不工作

C# 如何知道我的Windows服务何时不工作,c#,windows-services,C#,Windows Services,我有一个windows服务,我想知道它什么时候不工作不是每隔xx分钟左右,而是什么时候停止 我有这个方法 public string ServiceStatus() { switch (_service.Status) { case ServiceControllerStatus.Running: return "Ru

我有一个windows服务,我想知道它什么时候不工作不是每隔xx分钟左右,而是什么时候停止

我有这个方法

 public string ServiceStatus()
          {
                switch (_service.Status)
                {
                     case ServiceControllerStatus.Running:
                          return "Running";
                     case ServiceControllerStatus.Stopped:
                          return "Stopped";
                     case ServiceControllerStatus.Paused:
                          return "Paused";
                     case ServiceControllerStatus.StopPending:
                          return "Stopping";
                     case ServiceControllerStatus.StartPending:
                          return "Starting";
                     default:
                          return "Status Changing";
                }

          }

抱歉,我的英语不好

当服务停止时,会调用服务的相应OnStop方法。在这个函数中,您可以写入一些事件日志,或者向消息队列发送消息

需要知道服务是否正在运行的代码,该代码必须轮询此共享源以知道服务何时停止

也就是说,如果你能详细说明你的问题,我们可以更好地帮助你。信息,例如,关于服务停止,需要通知哪些代码?如果它是一个web应用程序,该服务可以在其启动期间进行http调用


一般来说,最好尽快从顶部退出。如果OnStop中的代码花费的时间太长,Windows可能会声明服务没有响应,并导致inproper关闭

当服务停止时,将调用服务的相应OnStop方法。在这个函数中,您可以写入一些事件日志,或者向消息队列发送消息

需要知道服务是否正在运行的代码,该代码必须轮询此共享源以知道服务何时停止

也就是说,如果你能详细说明你的问题,我们可以更好地帮助你。信息,例如,关于服务停止,需要通知哪些代码?如果它是一个web应用程序,该服务可以在其启动期间进行http调用


一般来说,最好尽快从顶部退出。如果OnStop中的代码花费的时间太长,Windows可能会声明服务没有响应,并导致inproper关闭

捕获停止等事件。例如,要知道您何时被“阻止”:


查看了解更多信息。

捕获停止等事件。例如,要知道您何时被“阻止”:

查看更多信息

protected override void OnStop()
{
  // Let yourself know the service has been stopped
}