C# 使用Vici WinService组件来创建Windows服务
- /******************************************************************
- * 创建人: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(), 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 > )
- {
- string option = parameters[].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服务的更多相关文章
- 使用 Topshelf 组件一步一步创建 Windows 服务 (2) 使用Quartz.net 调度
上一篇说了如何使用 Topshelf 组件快速创建Windows服务,接下来介绍如何使用 Quartz.net 关于Quartz.net的好处,网上搜索都是一大把一大把的,我就不再多介绍. 先介绍需要 ...
- 使用Topshelf组件 一步一步创建 Windows 服务
我们先来介绍一下使用它的好处,以下论述参考自其他大神. topshelf是创建windows服务的一种方式,相比原生实现ServiceBase.Install.Installer更为简单方便, 我们只 ...
- windows服务搭建(VS2019创建Windows服务不显示安装组件)
1.创建windows服务应用 2.右键查看代码 3.写个计时器Timer using System.Timers; 如上图,按tab键快速操作 会自动创建一个委托 改为下边的方式,打印日志来记录 ...
- C# 创建Windows服务
创建windows服务项目 2 右键点击Service1.cs,查看代码, 用于编写操作逻辑代码 3 代码中OnStart用于执行服务事件,一般采用线程方式执行方法,便于隔一段事件执行一回 END ...
- 用C#创建Windows服务(Windows Services)
用C#创建Windows服务(Windows Services) 学习: 第一步:创建服务框架 创建一个新的 Windows 服务项目,可以从Visual C# 工程中选取 Windows 服务(W ...
- [转]C#创建Windows服务与安装
本文档用于创建windows服务说明,使用vs2010系统平台 创建项目 1 创建windows服务项目 2 右键点击Service1.cs,查看代码, 用于编写操作逻辑代码 3 代码中OnStart ...
- 创建Windows服务(Windows Services)N种方式总结
最近由于工作需要,写了一些windows服务程序,有一些经验,我现在总结写出来.目前我知道的创建创建Windows服务有3种方式:a.利用.net框架类ServiceBaseb.利用组件Topshel ...
- C# 创建Windows服务。服务功能:定时操作数据库 (转)
C# 创建Windows服务.服务功能:定时操作数据库 一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在S ...
- C#创建Windows服务与安装-图解
1.创建windows服务项目
随机推荐
- wpf企业应用之主从结构列表
主从结构在企业级应用中相当常见,这里结合我的例子谈一下wpf中主从结构列表展示的常用做法,具体效果见 wpf企业级开发中的几种常见业务场景. 首先,Model有两种,主表对应model(假设为mode ...
- [Luogu4724][模板]三维凸包(增量构造法)
1.向量点积同二维,x1y1+x2y2+x3y3.向量叉积是行列式形式,(y1z2-z1y2,z1x2-x1z2,x1y2-y1x2). 2.增量构造法: 1)首先定义,一个平面由三个点唯一确定.一个 ...
- BZOJ 4521 CQOI 2016 手机号码 数位DP
4521: [Cqoi2016]手机号码 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 539 Solved: 325[Submit][Status ...
- NOIP 算法模板
Hash: #include <iostream> #include <cstdio> #include <cstdlib> #include <algori ...
- BZOJ 2756: [SCOI2012]奇怪的游戏 网络流/二分
2756: [SCOI2012]奇怪的游戏 Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 1594 Solved: 396[Submit][Stat ...
- ControllerEvent
1.TouchDown --->按下去 响应事件 2.TouchRepeat --->重复点击 ,从第二次点击开始响应事件 3.TouchDragInside ---->在组建范 ...
- 双频无线网安装设置(5g ) for linux
为了在局域网实现远程wifi调试,例如调试需要图像数据传输,则需要搭建局域网5g无线网络. 1.硬件要求 a. TP-Link(型号:TL-WDR6500,AC1300双频无线路由器,支持5g,2.4 ...
- MySQL: 查看一次SQL的执行时间都花在哪些环节上
select @@profiling -- 看看当前的session的profiling打开没有 set profiling = 1 -- 如果没打开,打开一下 -- 执行一些sql select c ...
- .Net C#上传文件最大设置
<!--网页允许的最大设置节点--> <system.web> <httpRuntime targetFramework="4.5" maxReque ...
- redux 个人整理
序 本人工作之余的闲暇时间还是很充裕的.在完成经理安排的任务后,基本上都是在自学,主要是阅读各种技术文档.浏览博客.运行别人写的一些前端demo并观赏与赞叹.在ScorpionJay 同学的带领下,我 ...