【发布时间】:2011-03-17 16:07:42
【问题描述】:
我有一个使用 AJAX 来获取页面搜索结果的网页。在服务器端,我正在查询一个非常慢的 Web 服务 - 20 秒到 2 分钟。
据我了解,我的选择是轮询或长时间运行的请求。
AsyncCallback 似乎是理想的,因为一旦 Web 服务响应就会返回结果,并且线程不会在服务器端阻塞。
有没有更好的方法来做到这一点?你知道在 jQuery 中长时间运行 HTTP 请求有什么问题吗?
更新:是的,我将尽可能缓存来自 Web 服务的响应。我无法控制我正在查询的外部 Web 服务。
【问题讨论】:
-
这对我来说似乎是个好方法。它将有助于服务器的可扩展性,并且不会影响 AJAX 请求的性能。
-
如果它是公共网络服务,您可以直接在客户端(异步)或从您的网络服务器获取数据。不确定 jQuery,但异步请求在 javascript (
XMLHttpRequest) 中可用。 -
2 分钟是很长的时间。您是否正在实施寻呼客户端?相反,从数据库中获取分页数据将是一个好方法。
-
Rashmi - 是的,我会将结果缓存在数据库中,因此更多页面的结果将来自数据库。
标签: asp.net jquery web-services asynchronous