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服务项目
随机推荐
- nova event
nova处理neutron发送过来的event事件.暂时追踪nova event部分代码 tail -f /var/log/nova/nova-api.log 下面就是一个事件 Creating ...
- [ 转载 ] Okhttp的用法
Android中OkHttp的使用 LuckyXiang 简书作者 02018-01-18 19:04 打开App Android中OkHttp的使用 官方网站 | Javadoc 1 简介 OkHt ...
- 内容播放colorbox
1.需要的js (1)jquery (2)colorbox (http://www.jacklmoore.com/colorbox/ 下载文件夹,其中有js.css文件) //加载的时候注意文件的路径 ...
- MyBatis 插入时返回刚插入记录的主键值
MyBatis 插入时返回刚插入记录的主键值 一.要求: 1.数据库表中的主键是自增长的,如:id: 2.获取刚刚插入的记录的id值: 二.源代码: 1.User.java package cn.co ...
- bzoj 3956: Count
3956: Count Description Input Output Sample Input 3 2 0 2 1 2 1 1 1 3 Sample Output 0 3 HINT M,N< ...
- php <a href></a>链接地址中是php变量,链接文本也是php变量的代码处理方法
1.所用php变量名为$recent_tests,是一个二维数组,示例如下: $recent_tests[0]["test_url"] = www.baidu.com $recen ...
- Oracle SP2-0640
安装Oracle database 11g express edition后,使用自带的SQL命令行,执行 select 1 from dual; 报出错误:SP2-0640 未连接 解决方法:使用 ...
- (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。) (Microsoft SQL Server,错误: 233)
------------------------------ 无法连接到 IFCA-LIUWEI/SQL2005. ------------------------------其他信息: 已成功与服务 ...
- rac 10g 10.2.0.1升级到10.2.0.5具体解释
RAC 10.2.0.1 升级到 10.2.0.5 一. 准备: Patch 包:p8202632_10205_LINUX.zip 节点数:3个节点 RAC1 RAC2 ...
- C#程序集系列10,强名称程序集
当一个程序集的名称,版本,文化,Public Key都做了设置,就可以把这个程序集叫做"强名称程序集".强名称程序集可以防止被仿冒或篡改.本篇首先创建一个强名称程序集,接着模拟篡改 ...