为SendGrid跟踪Throttling外部API调用(C#)

问题描述 投票:0回答:1

我正在用ASP.Net WebAPI构建一个带有后台的MVP应用程序原型。它使用标准的Asp.Net身份提供者来创建用户账户。

我添加了一个电子邮件服务,并按照以下步骤将其连接到SendGrid上。这个 教程支持。

  1. 发送 "确认邮件 "信息
  2. 发送 "密码重置 "消息。

我使用的是免费的SendGrid套餐--每天100个msgs,我不可能很快达到--然而,我还是想增加一些功能来跟踪和限制每天100个电话。同时为了防止同一个用户不断请求电子邮件确认密码重置,每天超过5次--最好的策略是什么?

我想创建一个DB表。

|Date | User | MessageType

  • 当发送确认邮件或重置密码的方法被调用时,检查当天的总行数是否小于100,给定用户的总消息数是否小于10。

  • 如果是这样,就调用API来发送邮件,然后更新表。

  • 如果不能,就给客户端应用返回一个错误信息,说稍后再试(虽然不是很理想,但对于初始阶段应该足够了)。

有没有更好的方法来实现呢?

c# api sendgrid
1个回答
0
投票

是的,DB表足够好。虽然,你可以有一个列来更新自己的计数,而不是计数行。否则的话,有可能会增加表的大小,而且会延迟方法。

© www.soinside.com 2019 - 2024. All rights reserved.