在我的Web应用程序中,有一个进程可以查询来自整个Web的数据,对其进行过滤并将其保存到数据库中。你可以想象这个过程需要一些时间。我目前的解决方案是增加页面超时并在加载时为用户提供AJAX进度条。这是一个问题有两个原因 - 1)它仍然需要很长时间,用户必须等待2)它有时仍然超时。
我已经涉足到线程化过程并且已经读过我应该异步将它发布到Web服务(“Fire and forget”)。
我读过的一些参考文献: - MSDN - Fire and Forget
所以我的问题是 - 什么是最好的方法?
更新:在用户输入数据后,我想将它们重定向到结果页面,该页面随着进程在后台运行而逐步更新。
发布于 2018-09-29 08:48:41
我们遇到了类似的问题,并通过异步Web服务调用启动工作来解决它(这意味着用户不必等待工作完成)。然后,Web服务启动一个SQL作业,该作业执行工作并定期更新具有工作状态的表。我们提供了一个允许用户查询表的UI。
发布于 2018-09-29 09:31:09
我在上一份工作中碰到了这个问题。我找到的最好方法是启动异步过程,并在完成后通知用户(电子邮件或其他内容)。让他们等待那么久会因为超时和他们的生产力浪费而成为问题。让他们等待进度条会给他们错误的安全感,他们可以在关闭浏览器时取消进程,这可能不是这种情况,具体取决于您设置系统的方式。
https://stackoverflow.com/questions/-100000813
复制相似问题