我需要在每個月的第一天早上 6 點發送一份報告。請幫助了解視窗服務時間間隔的邏輯,請建議
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
uj5u.com熱心網友回復:
FluentScheduler或Quartz.NET等第三方解決方案可用于安排代碼以特定時間間隔運行,例如:
Schedule<MyComplexJob>().ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);
計時器不能。
正如@Fildor 所建議的,另一種選擇是使用 Windows 中的任務計劃程式來啟動一個程式,該程式按照給定的計劃運行您的代碼,例如每月一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/465767.html
標籤:C# 网 asp.net-mvc
