日期:2014-05-17  浏览次数:20400 次

请教如何将服务器端的数据及时反馈到客户端?
最近遇到一个问题:
在服务器端要执行一个耗时的操作(一个线程操作),同时,操作的结果要及时显示在客户端浏览器上。请教,该怎么做?
希望大家能给提供一些思路。谢谢。

------解决方案--------------------
客户端定时器轮询或者采用长连接的方法
------解决方案--------------------
采用服务方式,服务端执行完毕后,客户端定时请求,当得到服务端的反馈后,用服务调取,你处理后的数据
------解决方案--------------------
定时向服务端发出Ajax请求,服务端返回结果并显示到客户端。
------解决方案--------------------
如果是这样的话,应该弄上进度加载状态,然后再显示结果,中途就该关了是不会显示操作好结果的。
------解决方案--------------------
页面连续请求也挺简单,
function ajax()
{
 $.post(....
onsuccess : ..... ;ajax();
 );
}
这样就可以保证一有输出马上显示,再请求

------解决方案--------------------
探讨
在现在写的部分程序中,我用的是AJAX中的updatePanel和Timer控件,用Timer控件作为updatePanel控件的触发控件,定期刷新页面。
现在想换个思路,今天查了些关于长连接和客户端定时器轮询的资料,长连接部分没有看明白。
关于客户端定时器轮询部分,看了网上的资料,感觉程序大致是这样的:
在aspx页面中设置一个js定时器,定时发送xmlhttpRequest请求。然后,在……

------解决方案--------------------
asp.net ajax的轻量级ajax方法请参考:http://www.google.com.hk/#hl=zh-CN&newwindow=1&safe=strict&q=asp.net+ajax+ScriptService&oq=asp.net+ajax+ScriptService&gs_l=serp.3...9526.17175.2.18339.40.19.0.0.0.0.0.0..0.0...0.0..0.1c.1.9g-MAN7UJlI&bav=on.2,or.r_gc.r_pw.&fp=aedf2b3697ca7e66&biw=1378&bih=844
------解决方案--------------------
就ajax定时请求呗,加个什么判断,比如那边生成一个中间结果,ajax定时判断哪个中间结果生成好了没,如果生成好了就返回数据
------解决方案--------------------
这个肯定要多线程编写了