使用 Topshelf 结合 Quartz.NET 创建 Windows 服务
Ø 前言
之前一篇文章已经介绍了,如何使用 Topshelf 创建 Windows 服务。当时提到还缺少一个任务调度框架,就是 Quartz.NET。而本文就展开对 Quartz.NET 的研究,以及如何使用 Topshelf 结合 Quartz.NET 运行一个定时的 Windows 服务。
Ø 本文主要内容
1. 搭建 Topshelf 的运行环境。
2. 编写一个存储过程,用于更新商品表中的库存。
3. 安装 Quartz 所需的 dll 文件。
4. 创建 Quartz 的配置文件。
5. 创建 Windwos 服务调度程序。
6. 创建作业类,实现 IJob 接口。
7. 开启 Windows 服务。
1. 搭建 Topshelf 的运行环境
1) 创建一个控制台应用程序。
2) 添加 Topshelf 相关的 dll 的引用,可参考使用 Topshelf 创建 Windows 服务。
2. 编写一个存储过程,用于更新商品表中的库存
1) 首先,创建一张商品表 Goods
IF(OBJECT_ID('Goods', 分钟,依次对服务进行暂停 -> 恢复 -> 停止操作,将看到如下结果:
1. Log

2. Data

Ø 总结
本文,使用 Topshelf 结合 Quartz 搭建了一个 Windows 服务,用于定时调用存储过程更新商品库存。可见 Topshelf 与 Quartz 的结合是天衣无缝,非常适合在平时的开发工作中。
使用 Topshelf 结合 Quartz.NET 创建 Windows 服务的更多相关文章
- Quartz.net创建windows服务
序言 安装服务 sc create XXService binpath= "XXService.exe" start= auto sc description XXService ...
- 使用C#创建windows服务续之使用Topshelf优化Windows服务
前言: 之前写了一篇“使用C#创建windows服务”,https://www.cnblogs.com/huangwei1992/p/9693167.html,然后有博友给我推荐了一个开源框架Tops ...
- 使用 Topshelf 组件一步一步创建 Windows 服务 (2) 使用Quartz.net 调度
上一篇说了如何使用 Topshelf 组件快速创建Windows服务,接下来介绍如何使用 Quartz.net 关于Quartz.net的好处,网上搜索都是一大把一大把的,我就不再多介绍. 先介绍需要 ...
- 使用Topshelf创建Windows服务
概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...
- Topshelf创建Windows服务
使用Topshelf创建Windows服务 概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps ...
- 使用 Topshelf 创建 Windows 服务
Ø 前言 C# 创建 Windows 服务的方式有很多种,Topshelf 就是其中一种方式,而且使用起来比较简单.下面使用 Visual Studio Ultimate 2013 演示一下具体的使 ...
- 使用Topshelf组件 一步一步创建 Windows 服务
我们先来介绍一下使用它的好处,以下论述参考自其他大神. topshelf是创建windows服务的一种方式,相比原生实现ServiceBase.Install.Installer更为简单方便, 我们只 ...
- [Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务
除了通过.net提供的windows服务模板外,Topshelf是创建Windows服务的另一种方法. 官网教程:http://docs.topshelf-project.com/en/latest/ ...
- 使用Topshelf 5步创建Windows 服务 z
使用Topshelf创建Windows 服务简要的介绍了创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with T ...
随机推荐
- 通俗讲解MOSFET
一位工程师曾经对我讲,他从来不看MOSFET数据表的第一页,因为“实用”的信息只在第二页以后才出现.事实上,MOSFET数据表上的每一页都包含有对设计者非常有价值的信息.但人们不是总能搞得清楚该如何解 ...
- BAT脚本实例
一个简单的BAT脚本实例,重点在于说明各命令用法: @ ECHO OFF REM 打开ECHO回显 echo 1.列出C盘根目录中所有文件 pause dir C:\ echo. echo 2.等待1 ...
- Eureka
Consul vs. Eureka Eureka is a service discovery tool. The architecture is primarily client/server, w ...
- list根据某个字段去重
方法一:使用Set List<User> newList = new ArrayList<User>(); Set<String> set = new HashSe ...
- BZOJ3881 Divljak
解:对被包含的那些串建AC自动机. 每次加一个串,就在AC自动机上面跑,可知能够跑到一些节点. 这些节点都是一些前缀的形式,我们跳fail树就是跳后缀,这样就能够得到所有能匹配的子串. 我们分别对AC ...
- 将本地html文件拖到IE8浏览器无法打开,直接弹出一个下载的对话框
查看一下注册表[HKEY_CLASSES_ROOT\.htm]和[HKEY_CLASSES_ROOT\.html]的ContentType值是否都为“text/html”
- RAP 接口Mock示例
前后端分离式开发的思考 目前大部分公司都实行了前后端分离开发.然而在项目开发过程当中,经常会遇到以下几个尴尬的场景: 1.前端开发依赖于后端接口数据,需要与后端接口联调才能获得数据展示,从而拖慢了开发 ...
- (转载) python3: beautifulsoup的使用
转载: https://www.cnblogs.com/chimeiwangliang/p/8649003.htmlfrom bs4 import BeautifulSoup import reque ...
- JSON与XML之间的转换
public class JsonTest { private final Logger cLogger = Logger.getLogger(getClass()); /** * XML转JSON ...
- Centos 7 下监控与告警部署
微信消息自动推送 注册企业微信 企业微信地址:https://work.weixin.qq.com 注意:上面我只是做个范例,我实际是有自己的企业微信的,下面的企业微信配置和上面的企业微信名称对不上, ...