【发布时间】:2013-07-19 08:33:48
【问题描述】:
我想停止服务器端jQuery.ajax 方法调用的操作。
我可以在客户端使用 $.ajax.abort() 方法停止 Ajax 请求,但不能在服务器端。
更新:
我使用异步操作而不是同步操作,但我没有得到我想要的!如您所知,服务器不能同时处理多个请求,这导致每个请求都必须等到前一个请求完成,即使前一个请求被 $.Ajax.Abort() 方法取消也是如此。 我知道如果我使用 [SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)] 属性,它几乎是我想要的,但它并不满足我。
最重要的是,我想中止用户在服务器端的处理方法。就是这样:)
【问题讨论】:
-
如果我理解正确,您不希望任何 XHR 访问您的服务器吗?
-
:) ...也许这些行可能会有所帮助stackoverflow.com/questions/216173/…或stackoverflow.com/questions/216173/…
-
谢谢,但这不是我想要的!!我调用一个动作,例如需要 1 分钟。我想让用户根据需要取消请求,我正在使用 $.ajax.abort() 并且它工作正常并且它取消了请求,但我知道服务器正在处理先前的请求。如果我在服务器上使用该会话发送另一个请求,它必须等到最后一个操作结束。
-
@user2349133 只要它在客户端,你就可以检查它的状态,基于询问用户......一旦它进入服务器......我看不到取消它的方法特定的 XHR 请求
-
长期运行的操作在做什么?你可以在那里使用分页,即每次调用处理 100 个“事物”吗?
标签: c# javascript jquery ajax asp.net-mvc