ASP.NET服务器推送及前后台实时交互

时间:2021-10-13 11:48:32

一:项目需求

页面需要做一个上传Excel功能,并处理Excel中的数据到数据库中

这是一个较为漫长的过程

这时我需要在页面上显示处理进度的提示,给用户一个良好的体验

比如给用户提示“正在上传文档”,“正在处理数据” ,包括处理过程中的需要前台用户给与选择(前后台实时交互,如下图)

ASP.NET服务器推送及前后台实时交互

 二:技术分析

COMET服务器推送技术原理就我个人理解来说就是:

一个页面通过AJAX 发送请求,后台获取到该请求并保留该请求。当另外一个线程处理出一个结果的时候,这个线程去调用保留的AJAX请求,并返回给页面信息。页面处理返回的消息后,立刻再次通过AJAX发送请求。页面一直保持着有一个AJAX请求在执行,直到我们的程序处理结束

三:代码实现

     VS2010 工程代码

http://yunpan.cn/QGpQgG8SZWYTA