我想构建一个应用程序,向其项目(如工作流中的项目)即将过期或过期的用户发送提醒(SMS 或电子邮件)。通常的方法是在计时器触发后轮询数据库,并计算是否有任何到期和亲密的用户。
还有比这种轮询机制更好的方法吗?
编辑:- 对于调度,我将使用Quartz.net调度程序。
我想构建一个应用程序,向其项目(如工作流中的项目)即将过期或过期的用户发送提醒(SMS 或电子邮件)。通常的方法是在计时器触发后轮询数据库,并计算是否有任何到期和亲密的用户。
还有比这种轮询机制更好的方法吗?
编辑:- 对于调度,我将使用Quartz.net调度程序。
如果你想要精确到秒的通知,你可以做一些极端的事情,比如使用 BizTalk 编排来创建一个长时间运行的事务,该事务启动一个从现在开始倒计时到零的计时器,直到提醒到期。BizTalk 可以通过 SMTP 发送电子邮件。
但是,如果您的需求不是那么苛刻,而且老实说,使用 SMS/Email 并不能保证准时到达,我会(并且过去)采取更简单的方法并使用 Raciel 建议的预定数据库轮询R。
如果您正在寻找纯 ASP.NET 解决方案,您可以使用缓存过期机制。将设置过期日期/时间的项目插入缓存,并传递将在项目过期时调用的回调函数。