代码之家  ›  专栏  ›  技术社区  ›  Chris Ballance

在长时间运行的操作完成之前保存ASP.NET页的最佳方法是什么?[关闭]

  •  1
  • Chris Ballance  · 技术社区  · 15 年前

    JavaScript?

    元标记刷新?

    响应。重定向(到自身)

    服务器。传输(到自身)

    Ajax更新面板?

    6 回复  |  直到 15 年前
        1
  •  3
  •   Guffa    15 年前

    让我们看看选项:

    JavaScript?

    只要用户没有禁用它,这就可以正常工作。

    元标记刷新?

    支持javascript方法的已弃用方法。但是,如果用户禁用了javascript,则可以将其用作备份。

    响应。重定向(到自身)

    这不起作用,因为浏览器在重定向时不会显示任何对用户有用的内容。此外,浏览器将在一定数量的重定向之后停止请求,以保护用户不受无限重定向的影响。

    服务器。传输(到自身)

    也不起作用,因为服务器上的代码只是循环而不向浏览器发送任何信息。效果与代码中的循环相同。

    Ajax更新面板?

    只要用户没有禁用javascript,就可以正常工作。基本上与第一个选项相同,只有javascript自己执行请求,而不是让浏览器执行请求。

        2
  •  3
  •   Community Egal    7 年前

    如果您可以向用户报告任何类型的进度,我倾向于使用asxh和 forever frame . 添加一点 jQuery UI Dialog jQuery UI Progress Bar 当你在服务器上进行繁重的工作时,你有一种吸引用户注意力的闪亮方式。

    我在上给出了一些示例代码 874204 这说明了这项技术。

    如果你不能给用户进步,我倾向于仍然使用用户界面对话框和弹出一个“请等待,处理…”的消息与一个Web双点哦兼容spinny gif。

        3
  •  2
  •   Jose Basilio    15 年前

    看看这篇文章 Asynchronous Pages . 这里还有一个例子 CodeProject 包括异步页面和元刷新。

        4
  •  1
  •   RichardOD    15 年前

    您可以在啤酒屋启动工具包中找到这种功能的示例实现。- http://www.asp.net/Downloads/starter-kits/the-beer-house/ .

    sendingnewsletter.aspx和sendnewsletter.aspx页面对您很有用。不过,这对于您的需要来说可能是多余的——它甚至显示了长时间运行操作的进度。

        5
  •  1
  •   V'rasana Oannes    15 年前

    用这个怎么样 AJAX WebModalAnchor 用取消按钮弹出一个窗口?

    希望这有帮助,

    比尔

        6
  •  0
  •   DOK    15 年前

    我建议使用Ajax并显示一个更新的进度,这样用户就知道它仍在不断地流失。