TopShelf+Quartz.net 实现window服务
2021-06-04 05:04
标签:log turn inf html windows run 控制 获取 watch 代码地址:https://github.com/SeaLee02/ProjectDemo/tree/master/WindowServerDemo 效果: TopShelf+Quartz.net 实现window服务 标签:log turn inf html windows run 控制 获取 watch 原文地址:https://www.cnblogs.com/Sea1ee/p/10859305.htmlQuartz.NET官网 TopShelf 网址
①新建一个控制台 WindowServerDemo
②下载nuget包
Topshelf
Topshelf.Log4Net --附带 log4net
Quartz
Quartz.Jobs
Quartz.Plugins --不然在获取的会报错StdSchedulerFactory.GetDefaultScheduler().Result
③创建 ServiceRunner 类来开始服务
public class ServiceRunner:ServiceControl, ServiceSuspend
{
private readonly IScheduler scheduler;
public ServiceRunner()
{
scheduler = StdSchedulerFactory.GetDefaultScheduler().Result;
}
///
④创建 MyJob类实现完成的方法
///
⑤Program 开始执行
public static void Test()
{
//需要配置使用log4net
FileInfo log = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config");
XmlConfigurator.ConfigureAndWatch(log);
HostFactory.Run(x =>
{
x.UseLog4Net();
x.Service
⑥ log4net.config ,quartz.config ,quartz_jobs.xml 属性都需要设置为如果较新则复制
安装,启用,暂停,删除服务
把*.bat跟我们的exe程序放到同一个目录,右键管理员运行*.bat
在我们的电脑上就会存在这个服务,如果运行就会一直执行你的代码
上一篇:49.C#--多态之抽象类
文章标题:TopShelf+Quartz.net 实现window服务
文章链接:http://soscw.com/index.php/essay/90259.html