缓慢的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