在长时间处理期间,防止浏览器在mvc3应用程序中超时

时间:2012-03-14 15:51:59

标签: vb.net asp.net-mvc-3

MVC3 vb.net。在我的应用程序中,我有一个点,其中500个带附件的电子邮件发送出来,使用for循环来完成此任务。整个运行时没有任何内容返回给浏览器,所以最终浏览器认为它已超时...我尝试在每封电子邮件之后将其重定向到另一个actionresult函数,该函数只是将其传递回电子邮件功能。这不起作用,我觉得原因是实际上没有任何东西被发送到它自己的浏览器窗口..有没有办法解决这个问题??

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

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

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

过去,我们已成功启动后台线程进行处理,然后将页面设置为每秒刷新一次 - 每次刷新报告进度。我想如果我今天做的那样,我会使用页面方法和javascript ajax调用来更新页面进度。

答案 2 :(得分:0)

你在谈论这件事吗? http://msdn.microsoft.com/en-us/library/ms525473(v=vs.90).aspx

我认为您可以更改Session.Timeout以更好地满足您的需求。