【发布时间】:2015-06-29 19:38:26
【问题描述】:
我有一个 ASP.NET 网站,用户通过单击按钮从数据库中获取大量数据,但有时用户想要取消作业(这些作业可能需要很长时间)并且他们的会话将挂起做这项工作。
有什么办法可以停止代码的执行,清理已经收集的数据?
最好的解决方案是拥有一个包含所有 jobID 的表,其中一点将确定代码是否可以继续并让用户通过按钮/链接进行更改。
【问题讨论】:
-
重构您的设计以节省时间
-
这是非常大的数据,所以需要一些时间
-
您使用的是哪个版本的 .Net Framework?如果你在.Net 4.0中编程,那么你可以通过Tasks将耗时的任务推送到单独的线程上,然后使用TPL的任务取消功能。
-
用户只需要取消自己正在进行的任务
-
为什么不只检索前 10 行然后添加分页