2012-05-23 72 views
2

我不知道從哪裏開始,或用什麼來解決這個問題2:後臺任務/任務/進程,在asp.net MVC 3

  1. 我有一個用戶模型和事件模型(足球比賽,卡丁車比賽等)。我希望當用戶創建一個新的事件發送和電子郵件給其他用戶。

  2. 我需要的「東西」支票讓我們每15分鐘要說,刪除所有已經在活動:從數據庫(實例昨日活動)。

我知道在Ruby on Rails中,有觀察者和後臺工作者,在MVC3中有類似的東西嗎?或者有其他方法可以實現這一點?

+2

的[計劃任務或Windows服務]可能重複(http://stackoverflow.com/questions/2811653/scheduled-task-or-windows-service ) –

+1

是的,這是一個Windows服務的工作 – coffeeyesplease

回答

3

這些類型的任務,更適合於從一個單獨的進程來完成,例如Windows服務。您應該在您的Web應用程序中使用avoid using background tasks

0

有風險這是真的。但有時我們必須採取這種選擇,特別是當我們在緊張的時間表上實施工作隊列時。如果你不熟悉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

0

這篇大文章時已經很遲,但你應該在http://hangfire.io/考慮lookint。其驚人的圖書館,並提供了完整的fletched UI管理作業:)