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