标签:
/****************************************************************** * 创建人:HTL * 创建时间:2015-5-12 14:09:39 * 说明:使用Vici WinService组件创建的Windows服务 * Email:huangyuan413026@163.com *******************************************************************/ using System; using System.Text; using NLog;//引用日志组件 using Vici.WinService;//引用组件 using System.ServiceProcess;//引用系统组件 namespace HTL.TestService { #region 日志操作类 /// <summary> /// 写入日志 /// </summary> class Log { public static Logger _log = LogManager.GetCurrentClassLogger(); public static Logger GetLog { get { return _log; } } } #endregion #region 自定义服务类 /// <summary> /// 自定义服务类 /// </summary> class TestService : Service { public TestService() : base(new ServiceInfo("Test_server"))//服务的名称和显示名称 { ServiceTasks.Add(new TestServiceTask()); } } #endregion #region 自定义服务中任务类 /// <summary> /// 循环执行服务中任务 /// </summary> class TestServiceTask : CyclicServiceTask { /// <summary> /// 30秒异步执行一次任务 /// </summary> public TestServiceTask() : base(TimeSpan.FromSeconds(30), false) { } public static NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger(); protected override void RunTask() { Log.GetLog.Info("自定义服务任务正在工作中....."); } } #endregion static class Program { static void Main(params string[] parameters) { Log.GetLog.Info("开始运行程序"); TestService service = new TestService(); //自动运行 service.ServiceInfo.ServiceStartMode = ServiceStartMode.Automatic; if (parameters.Length > 0) { string option = parameters[0].ToLower(); switch (option) { case "/console": { service.RunConsole(); Log.GetLog.Info("运行控制台程序"); } return; case "/install": { service.Install(); Log.GetLog.Info("安装服务,自动运行"); } return; case "/uninstall": { service.UnInstall(); Log.GetLog.Info("开始卸载服务"); } return; } } service.Run(); } } }
C# 使用Vici WinService组件来创建Windows服务
标签:
原文地址:http://www.cnblogs.com/huangtailang/p/4498221.html