我不知道從哪裏開始,或用什麼來解決這個問題2:後臺任務/任務/進程,在asp.net MVC 3
我有一個用戶模型和事件模型(足球比賽,卡丁車比賽等)。我希望當用戶創建一個新的事件發送和電子郵件給其他用戶。
我需要的「東西」支票讓我們每15分鐘要說,刪除所有已經在活動:從數據庫(實例昨日活動)。
我知道在Ruby on Rails中,有觀察者和後臺工作者,在MVC3中有類似的東西嗎?或者有其他方法可以實現這一點?
我不知道從哪裏開始,或用什麼來解決這個問題2:後臺任務/任務/進程,在asp.net MVC 3
我有一個用戶模型和事件模型(足球比賽,卡丁車比賽等)。我希望當用戶創建一個新的事件發送和電子郵件給其他用戶。
我需要的「東西」支票讓我們每15分鐘要說,刪除所有已經在活動:從數據庫(實例昨日活動)。
我知道在Ruby on Rails中,有觀察者和後臺工作者,在MVC3中有類似的東西嗎?或者有其他方法可以實現這一點?
這些類型的任務,更適合於從一個單獨的進程來完成,例如Windows服務。您應該在您的Web應用程序中使用avoid using background tasks。
我建議使用Quartz.net作爲一個強大的解決方案,因爲它是一個全功能的開源作業調度系統,可用於從最小的應用程序到大型企業系統。
有風險這是真的。但有時我們必須採取這種選擇,特別是當我們在緊張的時間表上實施工作隊列時。如果你不熟悉Windows服務,你需要了解這些事情。
繼工作對我來說,(.NET 4.5.2)。一旦我調用InitiateLongRunningProcess
控制器,它將啓動一個長時間運行的過程並返回到查看狀態,無需等待長時間運行的作業。
public ActionResult InitiateLongRunningProcess(Emails emails)
{
if (ModelState.IsValid)
{
HostingEnvironment.QueueBackgroundWorkItem(ct => LongRunningProcessAsync(emails.Email));
return RedirectToAction("Index", "Home");
}
return View(user);
}
閱讀從Hanselman的HowToRunBackgroundTasksInASPNET
這篇大文章時已經很遲,但你應該在http://hangfire.io/考慮lookint。其驚人的圖書館,並提供了完整的fletched UI管理作業:)
的[計劃任務或Windows服務]可能重複(http://stackoverflow.com/questions/2811653/scheduled-task-or-windows-service ) –
是的,這是一個Windows服務的工作 – coffeeyesplease