Hai guys, 我的网站有成千上万的用户......我已经实现了向每个用户每天发送一次邮件的后台任务......我按照此链接来执行此操作。 ..Application.Start()事件在global.asax
http://www.codeproject.com/KB/aspnet/ASPNETService.aspx
我的问题是会的Application_Start()将被解雇为每个用户打我的网站?如果是的话每个用户每天都会接收邮件的数量,所以我想避免它..
Hai guys, 我的网站有成千上万的用户......我已经实现了向每个用户每天发送一次邮件的后台任务......我按照此链接来执行此操作。 ..Application.Start()事件在global.asax
http://www.codeproject.com/KB/aspnet/ASPNETService.aspx
我的问题是会的Application_Start()将被解雇为每个用户打我的网站?如果是的话每个用户每天都会接收邮件的数量,所以我想避免它..
Application_Start和Application_End方法是不代表HttpApplication事件的特殊方法。 ASP.NET在应用程序域的生命周期中调用它们一次,而不是为每个HttpApplication实例调用它们。
因此,当第一个用户打开该网站时,它将会遇到application_start方法,然后它不会。
我会补充说,你要做的事情是有风险的。如果你想发送批量电子邮件,那么你可能想要考虑可以每天发送电子邮件的日程安排程序。
Application_Start仅在第一个人前往站点并且app_pool刷新时运行。
这不会发生在网站的每一次击中。
对于类似cron的系统,您可能想要考虑类似http://www.webcron.org/来安排任务。
也许OP在考虑_BeginRequest? – 2009-11-25 02:59:04
嗨约翰, 我在共享主机,所以我不能使用调度...是安全的使用缓存项目回调和发送邮件一次在我的用户好评 – 2009-11-25 03:15:46
高速缓存项目回调不能依靠,缓存可能会过早过期因为该应用程序需要内存或其他东西,如果我是你,我会尝试使用http://www.webcron.org/或类似的网站。 – 2009-11-25 03:17:32
它应该在Application_BeginRequest上加上一个DB来存储每个访问者的状态。 但最合适的是在调度程序。
海耶尔谢谢你的回复 – 2009-11-25 03:18:42
您好ved我在共享主机,他们不会允许调度程序 – 2009-11-25 03:14:12
您好我最近实施了在网站上运行的背景任务,通过将网站转换为“永远在线”网站。应用程序池中有一个设置可以执行此操作。你可能想看看那个 – Zeus 2017-09-05 18:09:58