“轮询”方式实现服务器推送

最近看了一些关于pushlet技术的文章,但大多数都是java的实现,在.net上实现的却很少,索性自己写一个小小的Demo贴出来与大家分享一下。

环境:asp.net mvc 1.0

用到的技术:asp.net mvc 、jquery、ajax

原理:要实现服务器推技术有很多解决方案,比较适用的有两种:一是客户端轮询(polling),再就是http长连接。前者是在客户端建立一个时钟,每个一段时间ajax 调用一次服务器端的方法,以达到动态把Server端的数据Push到Client。后者是通过一个嵌套的Iframe,把这个Iframe的http返回在Server端不断的循环,以达 到Server拥有主动向Client发送数据的目的。今天只实现第一种,轮询的方式。

项目介绍:在新建完asp.net mvc后,在Views/Home/下建立一个content.aspx视图。在HomeController下添加相关ActionResult,同时添加一个void keepinvoke()函数用来返回ajax调用。

代码:

HomeController:

content.aspx:

Index.aspx:

说明总结:content.aspx定时ajax调用keepinvoke函数,得到一段javascript代码并把其放到content的body 下,而content作为iframe嵌入到Index中,而那段javascript代码是调用index中的js函数的,所以实现了从Server端 Push数据到Client端的目的。 个人所见难免不足,欢迎大家提建议。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值