我希望构建一个允许用户管理简单任务或待办事项的Web应用程序。作为其中的一部分,我想每天向用户发送电子邮件提醒任务。我希望系统中的每个用户都可以指定他们获取提醒的时间。例如,一个用户可以指定在上午8点收到他们的电子邮件,而另一个用户可能选择在晚上7点收到他们的电子邮件。使用.Net,构建和提供这种“提醒”服务的最佳方法是什么?此外,作为未来的一个阶段,我想将提醒扩展为SMS文本和/或其他形式的通知。
任何指导都将不胜感激。
答案 0 :(得分:1)
您的问题有点广泛,但在Windows上处理重复发生的任务有两种常规方法:
我假设你知道如何从.NET发送电子邮件 - 这非常简单,大多数运营商都有邮件到短信网关。
答案 1 :(得分:1)
我想你可以用两种方式做到:
在后台运行的Windows服务,它会轮询数据库,在当前时间查找项目,如果找不到任何内容则会休眠,循环
这很好,但是如果在30秒内突然有1000件物品需要处理,可能无法很好地扩展,因为这样做需要很长时间。你可以通过构建MSMQ来解决这个问题,它允许在不同的机器上进行分发,等等。
类似的Windows服务,但可以通过某种脉冲/等待系统进行交互,每次创建新的数据库条目时都会触发该系统。然后它可以合法地睡觉,但有点“脆弱”。
我可能会采用第一种方法。
答案 2 :(得分:0)
我会创建一个始终运行的服务,每分钟检查一次,以便执行任务。然后,您可以预先形成您需要的行动。您可以创建一个供用户使用的网站,该网站将发送到服务也读取的数据库。如果您希望获得更多的花哨,并且您的服务的WCF接口让网站转到服务并将您需要的提醒存储在数据库中。