跟踪/限制对 SendGrid (C#) 的外部 API 调用

Tracking / Throttling external API calls for SendGrid (C#)

我正在 ASP.Net/WebAPI 中构建带有后端的原型 MVP 应用程序。它使用标准 Asp.Net 身份提供程序进行设置,用于创建用户帐户。

我已经添加了一个电子邮件服务,并按照 this 教程将其连接到 SendGrid 以支持:

  1. 发送"Confirm Email"消息
  2. 发送"Password Reset"消息。

我正在使用免费的 SendGrid 套餐 - 每天 100 条消息,我不太可能很快达到 - 但是,我仍然想添加一些功能来跟踪并将呼叫限制为每天 100 条。还要防止同一用户每天不断请求电子邮件确认/密码重置超过 5 次 - 执行此操作的最佳策略是什么?

我想创建一个数据库Table:

|Date | User | MessageType

有没有更好的方法来实现这个?

是的 DB table 就足够了。不过,您可以用一列来更新计数本身,而不是计算行数。否则,有可能会增加 table 的大小,这可能会延迟该方法。