⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servicepaused.cs

📁 Oracle Service Manager
💻 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 + -