c# - c# windows service - 如何调度多个任务
问题描述
我有一个Windows Service
使用.C#
timers
/// <summary>
/// Intialize task Timers
/// </summary>
protected void InitializeService()
{
if (_model != null )
{
// initialize employee timer
if (affiliate_timer == null)
{
affiliate_timer = new System.Timers.Timer();
affiliate_timer.AutoReset = true;
affiliate_timer.Interval = _model.Interval_Affiliate * 60000;
affiliate_timer.Elapsed += new System.Timers.ElapsedEventHandler(affiliate_timer_Elapsed);
}
// Enable affiliate Timer!!
affiliate_timer.Enabled = true;
// initialize invoice timer
if (invoice_timer == null)
{
invoice_timer = new System.Timers.Timer();
invoice_timer.AutoReset = true;
invoice_timer.Interval = _model.Interval_Invoice * 60000;
invoice_timer.Elapsed += new System.Timers.ElapsedEventHandler(invoice_timer_Elapsed);
}
// Enable invoice Timer!!
invoice_timer.Enabled = true;
}
}
每个计时器可以有不同的间隔。
我需要添加比基于动态间隔运行更多的作业或任务,但如果我需要 10 个任务,我不想创建 10 个计时器。所以也许使用System.Threading.Task
库而不是计时器可以工作。
关于实现这一点的最佳方法的任何想法?当然可以同时运行多个任务。
解决方案
推荐阅读
- visualization - 如何使用 Codesys v2 在 PLC 界面中创建下拉列表。3
- python - 如何在python中打印形状?寻找一种不同的、更有效的方式
- windows - WAMP,Windows 10:#2002 - 由于目标机器主动拒绝连接,无法建立连接。—
- javascript - 无法将状态数组值传递给 DOM
- ios - Swift 4 在 UITableView 中显示来自 api 的图像的正确方法
- php - Laravel 不显示 HTTP 状态 403 的自定义 Blade 视图
- sql - 删除 PostgreSQL 中具有多列的重复行
- r - R 使用令牌打开与 Web API 的连接并读取 jason 文件
- android - Android自定义ArrayAdapter在列表中呈现对象,而不是值
- wordpress - 如何利用 wordpress 模板层次结构根据类别名称/标签呈现不同的帖子模板?