我创建了一个应用程序,用于以特定间隔读取邮箱。如果有新邮件,它会下载附件创建 pdf 文件,例如 100 + 将其合并并将其邮寄回特定列表。由于某些服务器策略可以将其转换为窗口服务。我使用了一个计时器,我的代码如下
private System.Threading.Timer timer;
timer = new System.Threading.Timer(TimerTick, null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
void TimerTick(object state)
{
var minute = DateTime.Now.Minute;
if (minute != lastMinute && minute % 5 == 0)
{
//check mail here
}
}
实现这样的计时器是一种有效的方法吗?有没有更好的方法来处理这个?我担心性能,因为应用程序需要运行 24 x7,因此如果效率低下,最终可能会使用更多的 cpu 内存。
在这种情况下,计时器是唯一的最佳选择吗?