2013-06-04 32 views
1

我在ASP.NET MVC應用程序中使用Fire和Forget意味着我產生了一個長時間運行的CPU或IO密集型後臺線程,它不依賴於用戶需求。這很好,但我擔心在應用程序域/進程的回收時間過程中,我的後臺線程會保證運行完成,或者可能會停在中間。如果有任何危險,那麼如何避免這種情況。在ASP.NET MVC中使用Fire和忘記的危險

回答

4

如果您需要保證進程運行直到完成,那麼在網絡服務器下運行它確實是錯誤的地方。您應該考慮將長期運行的任務放在服務中,並通過某種IPC(Web服務器)來從Web服務器與其通信。

2

我認爲ASP.NET MVC在這裏不是正確的選擇。你應該看看使用Workflow Foundation。工作流可以通過進行WCF調用來觸發。