【发布时间】:2014-08-12 04:02:56
【问题描述】:
我正在构建一个 MVC 应用程序,在这个应用程序中,有些动作暗示了一些事情。因此,我们希望使用邮件系统警告我们的客户/用户。我正在构建一个本地应用程序和一个网上商店,所以有时我需要发送很多邮件。
我目前正在使用MvcMailer 为什么它的工作很好,但我主要担心的是因为它发生在正常的方法调用期间(例如:操作的结果,那么:
MvcMailMessage msg = mailer.NewOrder(emailTo);
msg.Send();
消息传出,需要一段时间。而且由于这种操作可能会被调用很多次,因此总体上会减慢整个过程,这是我不希望的。
所以我的问题是:我应该如何处理邮件?我可以使用异步的东西来完成这项工作吗?我是否将它们存储在数据库表中并有时发送它们?我在 windows .Net 中听说过 Task,但我从未使用过,这是一个选项吗?
我正在寻找建议,请随时分享您的意见!谢谢!
【问题讨论】:
-
您使用的是哪个版本的 ASP.NET?
-
最新,主要是MVC 5.0。
-
改进工作代码对于 SO 来说是题外话。尝试程序员/代码审查。我会研究一个专门服务将处理的消息队列。
-
我很想深入研究类似的东西。你有什么例子或地方可以让我看看这是如何工作的吗?
-
我猜,最容易设置的是数据库支持的队列和用于发送的 Windows 服务。您还可以查看 MSMQ、计划任务或第三方解决方案。
标签: c# asp.net-mvc email