在asp.net mvc 3中的后台作业/预定任务中发送电子邮件

时间:2011-03-01 20:11:24

标签: email asp.net-mvc-3 scheduled-tasks

我有一个在正常托管 上托管 的ASP.NET MVC 3网络应用程序(即没有自有或虚拟服务器),我希望能够存储电子邮件在数据库中说,并让他们接受并在后台工作中发送。

如果这是我自己的服务器,我会编写一个Windows服务来处理这个问题,但有没有办法在Web应用程序进程中实现/模拟计划任务/后台作业?

3 个答案:

答案 0 :(得分:10)

您可以查看Quartz.NET。有一个blog post关于如何让它以中等信任的方式运行。

答案 1 :(得分:9)

您可以在asp.net或asp.net mvc中查看这篇文章(http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/),其中解释了如何在不使用Windows服务的情况下运行计划任务。

答案 2 :(得分:1)

您还可以使用工作现金:

 HttpContext.Current.Cache.Add("jobkey",  
                         "jobvalue", null,  
                         DateTime.MaxValue,  
                         TimeSpan.FromSeconds(15), // set the time interval  
                         CacheItemPriority.Default, JobCacheRemoved); 

详细信息请参阅this