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服务项目
随机推荐
- Standard NSD file
%pool: pool=system blockSize=256K layoutMap=cluster allowWriteAffinity=no %pool: pool=datapool block ...
- Django 模板中使用css, javascript
Django 模板中使用css, javascript (r'^css/(?Ppath.*)$', 'django.views.static.serve', {'document_root': '/v ...
- django定时任务
1.celery流程图: Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成 2.使用 ...
- HTML 5 <form> enctype 属性
值 描述 application/x-www-form-urlencoded 在发送前对所有字符进行编码(默认). multipart/form-data 不对字符编码.当使用有文件上传控件的表单时, ...
- 数据预处理:标准化(Standardization)
注:本文是人工智能研究网的学习笔记 常用的数据预处理方式 Standardization, or mean removal and variance scaling Normalization: sc ...
- 【洛谷】1852:[国家集训队]跳跳棋【LCA】【倍增?】
P1852 [国家集训队]跳跳棋 题目背景 原<奇怪的字符串>请前往 P2543 题目描述 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子. 我们用跳跳棋来做一个 ...
- 【BZOJ】4152: [AMPPZ2014]The Captain【SLF优化Spfa】
4152: [AMPPZ2014]The Captain Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 2107 Solved: 820[Submi ...
- Ajax 的概念及过程?Ajax 的交互模型?同步和异步的区别?如何解决跨域问题?
Ajax 是什么: 1) 通过异步模式,提升了用户体验 2) 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用 3) Ajax 在客户端运行,承担了一部分本来由服务器承担的工 ...
- Codeforces Round #354 (Div. 2) C. Vasya and String 二分
C. Vasya and String 题目连接: http://www.codeforces.com/contest/676/problem/C Description High school st ...
- Git_搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...