Windows服务逻辑

本文关键字:服务 Windows | 更新日期: 2023-09-27 17:54:28

一旦事件报告,我需要向用户发送邮件。邮件应在事件报告时间后30分钟发送,然后在事件报告时间后105分钟发送,然后在事件报告时间后225分钟发送。

我正在使用窗口服务和c#,但我只需要服务执行代码的条件。

是我的代码。

protected override void OnStart(string[] args)
{
  timer1 = new Timer(1800000);
  timer1.Enabled = true;
  timer1.Elapsed += new ElapsedEventHandler(Timer1_Event);
}

public void Timer1_Event(object source, ElapsedEventArgs e)
{
  if(datetime.now==incidentreportedtime+30mim)
  {
    //Send mail to user
  }
}

我的问题是事件可以在任何时间发生,并且该时间可能不等于服务执行代码的时间。

例如,事件引发时间为12.45pm,邮件将在1.15pm发送。服务可能在下午12点50分开始,然后在下午1点20分再次开始,这并不等于下午1点15分。在下午1点20分的同一时间可能有少数事件,但并非所有事件都可以视为发送邮件。

帮助我。

Windows服务逻辑

public void Timer1_Event(object source, ElapsedEventArgs e)
{
  if(DateTime.Now.Substract(incidentreportedtime).TotalMinutes == 30)
  {
    //Send mail to user
  }
}

并确保计时器每分钟运行一次…

发送邮件谷歌。net发送邮件我的第一个点击:http://weblogs.asp.net/scottgu/archive/2005/12/10/432854.aspx