C# 服务器端AJAX请求的排队机制

C# 服务器端AJAX请求的排队机制,c#,.net,asp.net,iis,request,C#,.net,Asp.net,Iis,Request,我在一个网站上遇到过这样的情况:用户的点击会生成AJAX请求,例如,当响应出现时会产生一些视觉效果。有时,用户不等待请求完成(尽管他看到加载指示器),而是开始疯狂地单击其他元素。因为原则上我不能也不想禁用这种可能性,所以我尝试(或多或少成功地)确保在任何时候触发新请求时,前一个请求都会被中止(客户端),并且不再调用其处理程序-无论最后一个请求是哪一个,都会获胜 虽然在客户端有点成功,但我现在想知道是否有某种方法可以在服务器上模拟类似的行为。由于我无法真正终止前一个请求,只能断开与它的连接,因此它

我在一个网站上遇到过这样的情况:用户的点击会生成AJAX请求,例如,当响应出现时会产生一些视觉效果。有时,用户不等待请求完成(尽管他看到加载指示器),而是开始疯狂地单击其他元素。因为原则上我不能也不想禁用这种可能性,所以我尝试(或多或少成功地)确保在任何时候触发新请求时,前一个请求都会被中止(客户端),并且不再调用其处理程序-无论最后一个请求是哪一个,都会获胜

虽然在客户端有点成功,但我现在想知道是否有某种方法可以在服务器上模拟类似的行为。由于我无法真正终止前一个请求,只能断开与它的连接,因此它仍然会一直运行到最后并消耗宝贵的资源。如果用户单击20个元素,他将只看到最后一个请求的结果,但服务器上仍会有20个请求浪费CPU做无用的工作


对于ASP.NET/IIS中同一资源的多个请求,是否有某种方法可以实现最后一次成功策略?我猜请求无论如何都是在内部排队的,我需要的是IIS在尝试退出下一个请求队列时,只需看看是否还有其他请求,并且只为同一会话中的最后一个请求提供服务。

我知道,在IIS上的ASP中,您可以测试IsClient是否已连接,如果客户端已断开连接,则可以中止

我相信在大多数平台中都会存在类似的东西


但是我不知道它是如何与ajax一起工作的?

HttpContext.response确实有这个属性,似乎它也能工作:)