加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 用于电子邮件创建和发送的ASP.Net MVC后台线程

发布时间:2020-12-15 20:42:33 所属栏目:asp.Net 来源:网络整理
导读:我正在看postmarkapp.com来处理我的asp.net mvc 2应用程序使用他们提供的.net库发送电子邮件:postmark-dotnet库 在他们的documentation他们提到发送电子邮件附件可能需要一些时间,更好地做一个后台工作.对于我的应用程序,我可以发送任何地方从10到500个个性
我正在看postmarkapp.com来处理我的asp.net mvc 2应用程序使用他们提供的.net库发送电子邮件:postmark-dotnet库

在他们的documentation他们提到发送电子邮件附件可能需要一些时间,更好地做一个后台工作.对于我的应用程序,我可以发送任何地方从10到500个个性化的电子邮件,一些附件批量给我的用户.

>在ASP.Net MVC中启动创建和发送这些电子邮件的管理员用户,以非阻塞方式进行后台处理的最佳方式是什么?
>如果他们点击“创建和发送电子邮件”到500个用户,并在该过程完成之前关闭浏览器会怎么样?

感谢任何帮助!新到ASP.Net MVC

解决方法

你可以产生一个新的线程并发送这个线程的邮件:
[HttpPost]
[Authorize(Roles = "Administrator")]
public ActionResult SendMails()
{
    new Thread(() => 
    {
        // Send the emails here
    }).Start();
    return View();
}

如果用户关闭浏览器,该线程将继续运行,直到它完成或AppDomain关闭.该操作将立即返回一个视图,它不会被阻止.

此外,将数据库中的一些标志设置为发送电子邮件的操作正在运行可能是一个好主意,以便如果管理员在按钮上单击两次,那么您的用户不会被大量邮件敲定.

如果你想要更强大的解决方案,你可以看一下MSMQ. here’s a tutorial这应该让你很快开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读