C# 使用Vici WinService组件来创建Windows服务
2015-05-12 18:47
357 查看
Vici WinService 是 Windows平台下使用C#开发的轻量级用于创建,删除服务的类库,您只需简单的几行代码即可实现多线程异步服务的创建,删除,运行
废话不多说,直接上代码
如何运行?
1.在cmd命令行下切换到exe生成目录
2.运行exe文件 ,需要添加运行参数(见上面的代码),运行后关闭下面的命令行不影响服务的执行
3.安装/卸载服务
4.启动"Test_server"服务
5.查看服务执行的任务日志(每30秒执行一次,见上面的代码)
参考:
Vici WinService
博客园:轻量级Windows服务创建组件
其他参考:
博客园:创建Windows服务(Windows Services)N种方式总结
博客园:C#检验Windows Service是否存在和启动
博客园:使用Topshelf创建Windows 服务
如何手动添加和删除Windows服务
来自为知笔记(Wiz)
废话不多说,直接上代码
/****************************************************************** * 创建人: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(); } } }
如何运行?
1.在cmd命令行下切换到exe生成目录
2.运行exe文件 ,需要添加运行参数(见上面的代码),运行后关闭下面的命令行不影响服务的执行
3.安装/卸载服务
4.启动"Test_server"服务
5.查看服务执行的任务日志(每30秒执行一次,见上面的代码)
参考:
Vici WinService
博客园:轻量级Windows服务创建组件
其他参考:
博客园:创建Windows服务(Windows Services)N种方式总结
博客园:C#检验Windows Service是否存在和启动
博客园:使用Topshelf创建Windows 服务
如何手动添加和删除Windows服务
来自为知笔记(Wiz)
相关文章推荐
- *使用C# 创建邮件发送组件(SMTP)
- 如何使用C# WEBSERVICE 创建一个三层的数据库应用程序 http://www.xxju.net/article/200412/29_0004326567.htm
- 使用C#创建WindowsService(Windows服务):定期执行Dos命令或Bat(批处理)文件
- 使用C#创建一个进程杀手Windows服务
- 使用C#创建一个进程杀手Windows服务
- C# 创建Windows Service服务 Windows服务
- (C#)Windows Forms Service 创建,使用,跟踪
- ServiceLoader使用和创建组件的内容区分开来
- 使用C# 创建邮件发送组件(SMTP协议)
- 使用C#创建一个简单的Windows服务
- C# 中使用iTextSharp组件创建简单PDF
- C# 中使用iTextSharp组件创建PDF的简单方法
- C# 中使用iTextSharp组件创建PDF的简单方法
- C# 创建windows服务(Windows Service)并定时执行
- 使用VS2010(C#语言)创建Windows Service详细图解
- C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
- C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe(转)
- C#创建和使用ActiveX组件
- C#使用ServiceController控制windows服务
- VS 2010中使用C#创建及调用WCF完整实例(Windows服务宿主)