我正在用ASP.Net WebAPI构建一个带有后台的MVP应用程序原型。它使用标准的Asp.Net身份提供者来创建用户账户。
我添加了一个电子邮件服务,并按照以下步骤将其连接到SendGrid上。这个 教程支持。
我使用的是免费的SendGrid套餐--每天100个msgs,我不可能很快达到--然而,我还是想增加一些功能来跟踪和限制每天100个电话。同时为了防止同一个用户不断请求电子邮件确认密码重置,每天超过5次--最好的策略是什么?
我想创建一个DB表。
|Date | User | MessageType
当发送确认邮件或重置密码的方法被调用时,检查当天的总行数是否小于100,给定用户的总消息数是否小于10。
如果是这样,就调用API来发送邮件,然后更新表。
如果不能,就给客户端应用返回一个错误信息,说稍后再试(虽然不是很理想,但对于初始阶段应该足够了)。
有没有更好的方法来实现呢?
是的,DB表足够好。虽然,你可以有一个列来更新自己的计数,而不是计数行。否则的话,有可能会增加表的大小,而且会延迟方法。