ASP.NET Mvc:如何在日期之后触发通知事件?

问题描述:

我想使用ASP.NET MVC 3构建一个规划器Web应用程序。ASP.NET Mvc:如何在日期之后触发通知事件?

我不知道的一个问题是如何自动触发一个事件(发送邮件什么)时间是一个点?

谁能帮忙?谢谢。

就我个人而言,我不会让网络应用程序处理。相反,我会有一个在后台运行的服务,或者使用Windows Schedule来每x分钟/小时运行某个应用程序。

但是使用ASP.NET,您可以启动后台线程,每x次调用一次函数。

这里有更多介绍:http://flimflan.com/blog/SafelyRunningBackgroundThreadsInASPNET20.aspx

我希望这可以帮助您在正确的方向。

除了可以配置事件的前端asp.net站点之外,还需要一个后端服务附加到发送通知的数据库。该后端服务应该跟踪上次处理事件的时间。它会定期醒来并处理所有较新的事件。该期限将取决于您希望得到您的答复的“实时”方式。每分钟一次可能会像你可能需要的那样好。

+0

+1也看看http://quartznet.sourceforge.net/ – uvita 2011-01-27 13:29:56

定时事件可以用线程或服务来处理。

不经常考虑的线程和定时器的缺点是通常IIS会重新启动,这会重新启动线程和定时器。服务更加稳定,并且每隔一段时间就会自动启动,而不需要跟踪状态数据(例如当前时间)。

服务或计划任务最适合这个问题,但是如果您的托管服务提供商(假设您不是自托管服务商)不允许这样做,或者他们想要更多的资金来支持此功能,那么你可以考虑一个替代方案,如果在.NET 4.0中运行,它总是让应用程序池保持活跃状态​​。

本博客文章由Scott Guthrie的介绍了如何可以做到这一点: http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx