一:项目需求
页面需要做一个上传Excel功能,并处理Excel中的数据到数据库中
这是一个较为漫长的过程
这时我需要在页面上显示处理进度的提示,给用户一个良好的体验
比如给用户提示“正在上传文档”,“正在处理数据” ,包括处理过程中的需要前台用户给与选择(前后台实时交互,如下图)
二:技术分析
COMET服务器推送技术原理就我个人理解来说就是:
一个页面通过AJAX 发送请求,后台获取到该请求并保留该请求。当另外一个线程处理出一个结果的时候,这个线程去调用保留的AJAX请求,并返回给页面信息。页面处理返回的消息后,立刻再次通过AJAX发送请求。页面一直保持着有一个AJAX请求在执行,直到我们的程序处理结束
三:代码实现
VS2010 工程代码