您的位置:首页 > 理论基础 > 计算机网络

ASP.NET 下的Http Server Push 例子

2008-08-20 17:41 477 查看
缺省HTTP是一个来回的,Request过去,Response回来,就算结束了。这样能够大大提高Web服务器的利用效率。办完事就滚蛋,不要堵在门口。

但是有些场合,可能有人想挂在页面上面不下来。例如股票行情、在线聊天,毕竟让人家每几秒去看一下还不够爽。最好数据变化了就立刻通知浏览器。

这个技术就用到了Server Push。 详细名词解释 http://en.wikipedia.org/wiki/Push_technology

找了半天没有找到合适的例子,找了一个却不能比较好运行,就改造了一把,运行得很不错。原理还是蛮简单的,记下来以备参考。Yahoo的股票行情动态刷新就是这个原理。

Code

protected override void Render(HtmlTextWriter output)

{

base.Render(output);

Response.Buffer = true;

bool isOutput = false;

Response.Write("");

Response.Flush();

int lastsecond = 0;

while (Response.IsClientConnected)

{

Thread.Sleep(300);

if (DateTime.Now.Second != lastsecond && !isOutput)

{

lastsecond = DateTime.Now.Second;

Response.Write("<script> SetTimer('" + DateTime.Now.ToString() + "')\n </script> ");

Response.Flush();

isOutput = true;

}

else

{

isOutput = false;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐