如何使用 Interval 管理定时器
how to manage Timer with Interval
我需要在每个月的第一天早上 6 点发送报告。请帮助解决window服务时间间隔的逻辑,请建议
private System.Timers.Timer svcTimerForSendEmailSrvc = null;
protected override void OnStart(string[] args)
{
svcTimerForSendEmailSrvc = new System.Timers.Timer();
svcTimerForSendEmailSrvc.Enabled = true;
svcTimerForSendEmailSrvc.Interval = //here not getting time every month 1st date 6am mail should send
svcTimerForSendEmailSrvc.Elapsed += new System.Timers.ElapsedEventHandler(svcTimerForSendEmailSrvc_Elapsed);
svcTimerForSendEmailSrvc.Start();
}
void svcTimerForSendEmailSrvc_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
SendReportEverymonth1day();
}
示例我需要每月 1 点 6 点发送电子邮件。
喜欢1 jan 2022 next mail 1 feb 2022 next....1 dec 2022
Third-party 解决方案,例如 FluentScheduler or Quartz.NET 可用于在特定时间间隔将代码安排到 运行,例如:
Schedule<MyComplexJob>().ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);
计时器不能。
@Fildor 建议的另一种选择是使用 Windows 中的任务计划程序启动一个程序,该程序 运行 按照给定的计划执行您的代码,例如每月一次。
我需要在每个月的第一天早上 6 点发送报告。请帮助解决window服务时间间隔的逻辑,请建议
private System.Timers.Timer svcTimerForSendEmailSrvc = null;
protected override void OnStart(string[] args)
{
svcTimerForSendEmailSrvc = new System.Timers.Timer();
svcTimerForSendEmailSrvc.Enabled = true;
svcTimerForSendEmailSrvc.Interval = //here not getting time every month 1st date 6am mail should send
svcTimerForSendEmailSrvc.Elapsed += new System.Timers.ElapsedEventHandler(svcTimerForSendEmailSrvc_Elapsed);
svcTimerForSendEmailSrvc.Start();
}
void svcTimerForSendEmailSrvc_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
SendReportEverymonth1day();
}
示例我需要每月 1 点 6 点发送电子邮件。
喜欢1 jan 2022 next mail 1 feb 2022 next....1 dec 2022
Third-party 解决方案,例如 FluentScheduler or Quartz.NET 可用于在特定时间间隔将代码安排到 运行,例如:
Schedule<MyComplexJob>().ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);
计时器不能。
@Fildor 建议的另一种选择是使用 Windows 中的任务计划程序启动一个程序,该程序 运行 按照给定的计划执行您的代码,例如每月一次。