频繁的 GET 请求停止被 HTTP 处理程序实际处理/远离 return 相同的值
frequent GET requests stop being actually processed by HTTP handler / aways return same value
我继承了这段在客户端运行 1 秒-JQuery-Ajax-循环的代码。它曾经大量利用 cookie,我正在尝试至少将其更改为纯无状态 HTTP,但现在我遇到以下问题:
来自客户端的每个 POST 都会被处理,前几个 GET 也会被处理,但是过了一会儿,服务器端 HttpHandler
甚至没有调用 GET 请求并且客户端代码成功回调总是传递相同的 - 未更新的 - 数据。
//edit: 因为人们往往不这么认为:我已经使用调试器单步调试了代码,所以当我说 "handler is not called on get requests" 和 "client code success callbacks get passed the same data always" 我的意思是字面意思。
我认为这可能是 Web 服务器缓存对 HTTP 请求的响应的问题,但这是一个大胆的猜测。
所以我有一堆问题可能会帮助我解决这些问题:
- 这是一个合理的理论吗?
- 我想以某种方式了解所有 HTTP 请求
服务器注册以及他选择如何处理它们。
- 此外,我将在哪里以及如何配置服务器
web.config
,例如我想配置它的缓存
行为?
这是客户端缓存导致的。
根据您的 AJAX 请求将 cache
设置为 false
。
$.ajax({
url: "http://your.url.here",
cache: false
})
.done(function(data) {
// ...
});
更多详情here。
我继承了这段在客户端运行 1 秒-JQuery-Ajax-循环的代码。它曾经大量利用 cookie,我正在尝试至少将其更改为纯无状态 HTTP,但现在我遇到以下问题:
来自客户端的每个 POST 都会被处理,前几个 GET 也会被处理,但是过了一会儿,服务器端 HttpHandler
甚至没有调用 GET 请求并且客户端代码成功回调总是传递相同的 - 未更新的 - 数据。
//edit: 因为人们往往不这么认为:我已经使用调试器单步调试了代码,所以当我说 "handler is not called on get requests" 和 "client code success callbacks get passed the same data always" 我的意思是字面意思。
我认为这可能是 Web 服务器缓存对 HTTP 请求的响应的问题,但这是一个大胆的猜测。
所以我有一堆问题可能会帮助我解决这些问题:
- 这是一个合理的理论吗?
- 我想以某种方式了解所有 HTTP 请求 服务器注册以及他选择如何处理它们。
- 此外,我将在哪里以及如何配置服务器
web.config
,例如我想配置它的缓存 行为?
这是客户端缓存导致的。
根据您的 AJAX 请求将 cache
设置为 false
。
$.ajax({
url: "http://your.url.here",
cache: false
})
.done(function(data) {
// ...
});
更多详情here。