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

 

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

 

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

 

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

 

 

 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;
                }

            }

 

 

 

 

相关文章:

  • 2021-09-01
  • 2022-12-23
  • 2021-12-24
  • 2021-11-08
  • 2022-12-23
  • 2021-11-06
  • 2021-11-03
猜你喜欢
  • 2021-05-11
  • 2021-08-31
  • 2021-05-31
  • 2022-12-23
  • 2021-08-12
  • 2021-10-31
相关资源
相似解决方案