当用户保存对数据的更改时,我的Asp.Net MVC 4.5站点会向其他用户发送警报电子邮件(从数据库)。我的问题是用户在几分钟内多次点击保存按钮,该网站会发送多封电子邮件。
我想在第一次保存后等待30分钟,然后才发送电子邮件。我怎么能这样做?
TIA
答案 0 :(得分:1)
每次用户单击“保存”时,您都可以向数据库添加一行(例如,EmailQueue表,包含SendDateTime和其他相关字段)。该行只会在必要时添加,即表中没有匹配的行。
然后,您可以通过多种方式处理电子邮件的发送 - 例如,数据库中的作业,调用SP或SQL Server Integration Services包以发送所需的任何电子邮件,并删除EmailQueue行或标记他们经过处理。
答案 1 :(得分:0)
我找到了一个更简单的解决方案,"创建缓存项回调"。它在这篇文章中有描述: http://www.codeproject.com/Articles/12117/Simulate-a-Windows-Service-using-ASP-NET-to-run-sc