2012-03-14 50 views
0

MVC3 vb.net。在我的應用程序中,我有一個要點,其中500個附件的電子郵件被髮送出去,每個循環都使用一個循環來完成此操作。沒有任何操作會在瀏覽器運行時返回,因此最終瀏覽器認爲它已超時。我試過在每封電子郵件後重定向到另一個actionresult函數,並且該函數只是將它傳回給電子郵件功能。這是行不通的,我覺得原因是沒有什麼實際上被髮送到它的瀏覽器窗口自己..有沒有辦法解決這個問題?長時間處理時間讓瀏覽器在mvc3應用程序中超時

If _keepAlive = 1 Then 
       RedirectToAction("keepAlive", "Email") 
    End If 

    Function keepAlive() As ActionResult 
     Return RedirectToAction("SendClassSchedules", "Email") 
    End Function 
+0

我認爲你需要使用助手類,我是MVC3的新手,所以我不能給出明確的答案 – bbedward 2012-03-14 15:56:42

回答

0

過去,我們已成功啓動後臺線程來執行處理,然後將頁面設置爲每秒刷新一次 - 每次刷新報告都會進行一次。我想如果我今天正在做類似的事情,我會使用頁面方法和javascript ajax調用來更新頁面的進度。

+0

是的,對HTTP請求使用內聯長時間運行處理是ALW AYS一個壞主意。最好是啓動一個單獨的線程,或者讓一個Windows服務/控制檯應用程序輪詢某個「作業拾取」位置,並在後臺處理髮送的電子郵件,希望具有一些恢復功能,並更新文件,表格等狀態。然後讓你的「狀態」頁面拉動狀態並以X間隔刷新。 – 2012-03-14 15:58:20

相關問題