global.asax中的Application_Start()事件

ACP*_*ACP 6 c# asp.net global-asax

海家伙,我的网站有成千上万的用户...我已经实现了每天一次向每个用户发送邮件的后台任务......我按照这个链接执行此操作...

http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

我的问题是,每个用户点击我的网站都会触发Application_Start()...如果是这样,每个用户每天都会收到一些邮件,所以我想避免它......

Zeu*_*eus 20

Application_Start和Application_End方法是不代表HttpApplication事件的特殊方法.ASP.NET在应用程序域的生命周期内调用它们一次,而不是为每个HttpApplication实例调用它们.

因此,当第一个用户打开网站时,它会点击application_start方法,之后它将不会.

我要补充一点,你要做的就是冒险.如果您想进行批量电子邮件发送,那么您可能需要考虑可以每天发送电子邮件的Scheduler.


Joh*_*ker 5

Application_Start 仅在第一个人访问该站点以及 app_pool 刷新时运行。

并非每次访问该网站时都会发生这种情况。

您可能需要考虑类似http://www.webcron.org/的类似 cron 的系统来安排任务。