📄 servicepaused.cs
字号:
using System;
using System.Diagnostics;
using System.ServiceProcess;
namespace kae.ServiceStatePublisher
{
/// <summary>
/// ServicePaused is a concrete ServiceState representing the
/// ServiceController state of paused. As a singleton, only
/// one instance of this class is needed for the application.
/// </summary>
public class ServicePaused : ServiceState
{
private static ServicePaused _instance;
static ServicePaused()
{
lock (typeof(ServicePaused))
{
if (_instance == null)
_instance = new ServicePaused();
}
}
public static ServicePaused Instance
{
get { return _instance; }
}
public override void Start( ServiceContext context)
{
Continue( context);
}
public override void Continue( ServiceContext context)
{
try
{
context.Controller.Continue();
context.Controller.WaitForStatus( ServiceControllerStatus.Running, new TimeSpan(0,0,30));
ChangeState( context, ServiceRunning.Instance);
}
catch (TimeoutException te)
{
LogError( te.Message, EventLogEntryType.Warning);
throw te;
}
}
public override void Stop( ServiceContext context)
{
try
{
context.Controller.Stop();
context.Controller.WaitForStatus( ServiceControllerStatus.Stopped, new TimeSpan(0,0,30));
ChangeState( context, ServiceStopped.Instance);
}
catch (TimeoutException te)
{
LogError( te.Message, EventLogEntryType.Warning);
throw te;
}
}
public override string Status
{
get { return "Paused"; }
}
public override bool IsPaused
{
get { return true; }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -