gpt4 book ai didi

c# - 如何使用服务器端任务的进度更新网页?

转载 作者:行者123 更新时间:2023-11-30 18:09:27 25 4
gpt4 key购买 nike

我正在开发一个 Web 项目,该项目从调查类型的应用程序中获取结果,并通过一系列计算运行这些结果,以便为用户提出一些建议。

现在,此计算可能需要一分钟左右的时间,因此我希望能够向用户提供有关其进度的一些最新信息。显然,快速而肮脏的解决方案是使用旋转齿轮类型的图形按照“请稍等,我们正在计算您的建议”之类的消息。 (或者无论如何,你明白了..)。任务完成后,我将重定向到结果页面。

但是,我想做一些更华丽的事情。也许类似于进度条,甚至可以提示用户后台发生的事情。例如,给他们一个进度条,上面写着“现在处理第 3 条建议,共 15 条;复合维生素”

关于如何设置它有什么建议吗?我正在考虑的一种方法是将计算方法的进度写入 HttpContext,并设置一个更新面板和计时器来显示/刷新此信息。我还检查了是否可以构建 Web 服务/方法,然后每隔一段时间对其进行轮询。

有没有人做过类似的事情?什么对你有用?

再次感谢!

~吉姆

最佳答案

如果您从未访问过 AjaxPatterns.org,那么我建议您访问一下。您要查找的相关阅读 Material 是:

Progress Indicator

这涵盖了实现目标的几种模式以及您已经建议的两种模式。如果你想要实际的进度指示,那么你将不得不做一些工作,但基本模式如下:

  1. 启动长时间运行的任务(可能在单独的线程上)
  2. 创建一个指示已完成工作的共享资源,以及一个可以检索该信息的唯一键。这可以在内存、数据库、文件系统中完成……
  3. 将该 key 传回客户端
  4. 在客户端,每隔一段时间使用该 key 轮询进度更新
  5. 使用基于值的进度指示器更新客户端显示返回。

关于c# - 如何使用服务器端任务的进度更新网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2457575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com