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分的同一时间可能有少数事件,但并非所有事件都可以视为发送邮件。
帮助我。
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