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