缓慢的Web服务最好的方法?

我有一个使用AJAX获取页面搜索结果的网页。 在服务器端,我正在查询非常慢的Web服务--20秒到2分钟。

据我所知,我的选择是轮询或长时间运行的请求。

AsyncCallback似乎是理想的,因为只要Web服务响应并且线程不会在服务器端被阻塞,就会返回结果。

有没有更好的方法来做到这一点? 你知道在jQuery中长时间运行HTTP请求的问题吗?

更新:是的,我会尽可能缓存来自Web服务的响应。 我无法控制我正在查询的外部Web服务。


我们使用AsyncCallbacks进行服务器轮询,在4:30 - 5分钟内进行响应,系统运行良好。

值得一提的是,除非事实上IIS的工作者线程池不会因为请求过多而耗尽,否则你将不会获得任何好处(性能,响应时间等)。 如果我们每分钟收到2个请求,我们通常会有10-12个未决请求。在这种情况下,AsyncCallback将不会产生任何影响。 如果我们每分钟收到100个请求,这意味着500-600个挂起的连接,所以异步是必须的。 这只是关于管理线程池。


用户浏览到另一个页面的方法只有一个问题,你可以做的就是将结果缓存在某处,这样你就不会一直查询web服务。

链接地址: http://www.djcxy.com/p/2073.html

上一篇: best approach for a slow web service?

下一篇: Canonical URL compare in Python?