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

时间:2011-03-02 12:10:35

标签: c# .net asp.net iis request

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

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

是否有某种方法可以为ASP.NET / IIS中的同一资源的多个请求实施最后的策略?我猜这些请求无论如何都是在内部排队的,当我试图将下一个请求出列时,我需要的是IIS,只需查看是否有其他的,并且只提供来自同一会话的最后一个。

1 个答案:

答案 0 :(得分:1)

我知道在IIS上的ASP中你可以测试isClientConnected并在客户端断开连接时中止。

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

但我不知道它如何与ajax一起使用?