当前位置:  开发笔记 > 编程语言 > 正文

在ASP.Net应用程序中处理长时间运行进程的最佳方法是什么?

如何解决《在ASP.Net应用程序中处理长时间运行进程的最佳方法是什么?》经验,为你挑选了1个好方法。

在我的Web应用程序中,有一个进程可以查询来自整个Web的数据,对其进行过滤并将其保存到数据库中.你可以想象这个过程需要一些时间.我目前的解决方案是增加页面超时并在加载时为用户提供AJAX进度条.这是一个问题有两个原因 - 1)它仍然需要很长时间,用户必须等待2)它有时仍然超时.

我已经涉足到线程化过程并且已经读过我应该异步将它发布到Web服务("Fire and forget").

我读过的一些参考文献:
- MSDN
- Fire and Forget

所以我的问题是 - 什么是最好的方法?

更新:在用户输入数据后,我想将它们重定向到结果页面,该页面随着进程在后台运行而逐步更新.



1> Dave Ward..:

为了避免过多的架构天文学,我经常使用隐藏的iframe来调用长时间运行的进程并流回进度信息.与jsProgressBarHandler类似,您可以非常轻松地为较长的任务创建出色的带外进度指示,其中通用进度动画不会削减它.

在您的特定情况下,您可能希望每个任务使用一个LongRunningProcess.aspx调用,以避免这些页面超时.

例如,调用LongRunningProcess.aspx?taskID = 1将其启动,然后在该任务结束时,发出一个

document.location = "LongRunningProcess.aspx?taskID=2".  

广告恶心.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有