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

📄 servicerunning.cs

📁 Oracle Service Manager
💻 CS
字号:
using System;
using System.Diagnostics;
using System.ServiceProcess;

namespace kae.ServiceStatePublisher
{
	/// <summary>
	/// ServiceRunning is a concrete ServiceState representing the 
	/// ServiceController state of running.  As a singleton, only 
	/// one instance of this class is needed for the application.
	/// </summary>
	public class ServiceRunning : ServiceState
	{
		private static ServiceRunning _instance;

		static ServiceRunning()
		{
			lock (typeof(ServiceRunning))
			{
				if (_instance == null)
					_instance = new ServiceRunning();
			}
		}

		public static ServiceRunning Instance
		{
			get { return _instance; }
		}

		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;
			}
		}

		public override void Pause( ServiceContext context)
		{
			try
			{
				context.Controller.Pause();
				context.Controller.WaitForStatus( ServiceControllerStatus.Paused, new TimeSpan(0,0,30));
				ChangeState( context, ServicePaused.Instance);
			}
			catch (TimeoutException te)
			{
				LogError( te.Message, EventLogEntryType.Warning);
				throw;
			}
		}

		public override string Status
		{
			get { return "Running"; }
		}

		public override bool IsRunning
		{
			get { return true; }
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -