- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在取消异步回发时遇到了一些麻烦。我有一个带有更新进度的更新面板,其中包含一个取消按钮,以便用户可以取消回发。当用户单击按钮生成报告时,会显示更新进度。该报告可能需要一些时间,因为它必须循环创建 excel 电子表格一千次左右。如果用户出于任何原因决定取消运行报告,那么他们可以单击取消按钮,然后我在 javascript 中调用 abortPostBack() 停止更新进度并再次显示页面。然而,用户不能做任何其他事情,比如导航到另一个页面,因为服务器仍在处理循环。当用户单击取消按钮时,如何停止服务器处理上的循环?任何帮助表示赞赏!
最佳答案
您是说在异步回发完成之前,客户端无法访问简单的 HTTP 链接吗?如果是这样,这听起来像是一个难题,因为您要么必须优化服务器端流程,要么设置较小的服务器端请求超时。或者重新设计您的用户交互,使服务器端 Excel 生成过程成为异步的,而不是同步的,这样用户就不必等到 Excel 生成完成。您可以在客户端想象一下,然后设置一个 JavaScript 计时器来定期查询服务器以查看文件是否已准备好,如果是,则向用户表明并为他们提供下载文件链接选项或其他内容。
否则,如果您可以在等待返回的同时调用另一个 AJAX 请求(您可能不会这样做),您可以简单地执行一个新的 HTTP 请求来“取消”长时间运行的进程。但这似乎不起作用,因为服务器仍在处理长时间运行的 HTTP 请求。所以我会选择研究我第一段中的选项。
如果取消确实允许在客户端执行异步 HTTP 请求,那么您可以设置 session 状态值以指示请求取消。就我个人而言,我不会以这种方式接近它。但是,如果您这样做了,那么您长期运行的服务器端进程可能会定期查找 session 值的存在。说:
if (Session["cancel-me"] != null)
{
Session["cancel-me"] = null;
abortThisLongProcess();
}
关于asp.net - 使用冗长的服务器进程取消异步回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4701153/
我有一些记录到标准输出的测试,我想根据 nose 运行的冗长程度更改我的测试脚本中的日志级别。 如何从正在运行的测试之一中访问 running nose 实例的详细信息? 最佳答案 这有点 hack,
我们正在尝试序列化一个对象树。虽然我们已经成功了。我希望找到一种方法来简化生成的 xml。 对象看起来像下面这样: public class RuleSet { public IEnumera
查看 git-config 变量和 git-pull 文档,我没有看到默认情况下使 git-pull pull 冗长的方法。有人知道方法吗? 最佳答案 并不是所有的配置参数都适用!但是您可以使用别名自
我有一个小型或中等规模的 F# 项目,15 个 *.fs 文件,大约 2000 行代码。编译突然有点慢,大约5秒。我想找出导致编译速度变慢的原因,但找不到像“详细”这样的 fsc 开关,导致它显示进度
许多 scikit-learn 函数都有一个 verbose 参数,根据他们的文档,“[c]控制详细程度:越高,消息越多”(例如,GridSearchCV)。 很遗憾,没有提供关于允许使用哪些整数(例
我正在尝试以旧方式运行 Rails 测试,即以点作为输出,但我认为我遗漏了一些东西。我找不到在哪里关闭冗长模式,每次我运行 rake 任务时,我都会得到一个测试描述列表,这些描述起初看起来不错,但最终
我是一名优秀的程序员,十分优秀!