【发布时间】:2014-12-26 15:12:03
【问题描述】:
我目前正在开发一个 ASP .Net 项目。我有一个搜索按钮,按下它后,会建立到 WCF 的连接,然后检索数据。我想添加一个取消按钮,并且我想在按下取消按钮时取消搜索过程。问题是我无法中断回发,所以无论我做什么,我都无法在过程中间停止搜索。我试图通过调用以下命令从 javascript 刷新页面:location.reload(true);。但它不会工作。它将等到回发完成,然后重新加载页面。我也尝试在按下取消后中止 WCF 连接,但结果是一样的。谁能帮帮我?
【问题讨论】:
-
使用 Ajax 进行调用以加载数据。这将使主浏览器线程可以随时取消它。
-
tnx 为您提供帮助。我试试看
-
@ChrisLively 我试着照你说的做。问题是如果我使用 ajax,我将不得不调用带有“[WebMethod]”标签的静态方法。这样我就无法访问我的非静态页面组件。
-
听起来你有三个选择。 1. 接受一个长期运行的进程来锁定浏览器的想法。 2. 修复导致您的流程耗时过长的问题。 3. 重新构建解决方案,使您没有这些依赖项。
-
@ChrisLively tnx 供您发表评论。我们遵循选项 3。通过使用 .asmx 服务,我们为用户提供了一个时间窗口,他们可以取消该过程。我们发现,如果进行了回发,除了关闭浏览器之外没有办法中断它。我应该为她的问题发布分析器吗?再次感谢您的帮助。
标签: javascript asp.net wcf