成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺入淺出 Server Push

開發 后端
Server Push,即是服務器推送技術。本文通過引入Threading的類庫,淺談Server Push,一起來看。

推送技術Server Push的基礎思想是將瀏覽器主動查詢信息改為服務器主動發送信息。服務器發送一批數據,瀏覽器顯示這些數據,同時保證與服務器的連接。當服務器需要再次發送一批數據時,瀏覽器顯示數據并保持連接。以后,服務器仍然可以發送批量數據,瀏覽器繼續顯示數據,依次類推。

最近在做一個即時顯示的面板頁面。

需求:

1.即時顯示;

2.無刷新。

做Web的話,一聽到無刷新,馬上想到的就會是Ajax,我第一版的實現方法是Ajax的Updatepanel+Timer控件,定時向服務器發出Request。實現是沒有問題,但是對于資源的消耗非常恐怖,可以這么說。打開進程管理器,可以看到數據庫和瀏覽器(因為是在本機上做)的CPU占用比較高,并且瀏覽器的內存占用一直在上升。。。囧——不用再多解釋了,你懂的。。。

資料到處找,各種找,從Fighting Team.SDF那里,了解到了Server Push——服務器推送技術。看了一兩個不怎么完整的Demo(網上這方面的資料,真不多,要不就是各種哥各種轉載的)后,開始實施。來,直接貼代碼:

這里要引入Threading的類庫:

  1. using System.Threading;  
  2. ///后臺程序段:  
  3. /// <summary>  
  4. /// 以發送服務端控制信息的方式提供HtmlTextWriter對象   
  5. /// </summary>   
  6. /// <param name="writer"></param>   
  7. protected override void Render(HtmlTextWriter writer)   
  8. {   
  9. base.Render(writer);   
  10. while (Response.IsClientConnected)   
  11. {   
  12. Response.Write("<script>Display('" + SQLHelper.select().ToString() + "')\n </script> ");   
  13. Response.Flush();   
  14. Thread.Sleep(41);   
  15. }   

可以看到,其實代碼非常簡單,就是重寫了Rander方法。方法里,做一個死循環,將后臺數據庫里的數據,不停地Response到前臺,展示給用戶。就實現了這么一個推送的動作。

小總結一下:這個方法因為只有一個推送,比之前用Timer定時發送Request,再接受Response的方法優化許多,不僅減少了服務器的開銷,也降低了數據庫的負荷。再打開進程管理器看一下,CPU和內存的占用都比較低。不過可以相對性既然存在,那么說明這個方法也有不利的一方面:ClientConnected意思是,客戶端連入,就是說客戶端沒有斷開與服務端的連接。我們知道服務器的連入數是有限制的,如果一直保持連接狀態不斷開連接的話,那么連入數一多,這個資源的消耗又是很可怕的。所以權衡完Server Push技術,比較適合用在連入數少的場合,比如像信息顯示面板之類的,連入數都不較少,比較單一,則不會占用太多的資源。

【編輯推薦】

  1. 淺析.NET中的Server push技術
  2. 2011年移動用戶體驗趨勢:信息推送技術
  3. 詳解ASP.NET自定義控件開發實例
  4. 詳解ASP.NET MVC 3新的Layout布局系統
責任編輯:于鐵 來源: 博客園
相關推薦

2021-05-17 09:58:00

MySQL索引數據庫

2021-02-07 08:02:33

Linux內核開源

2017-09-07 15:43:24

數據庫MongoDBMySQL

2022-01-06 07:59:32

WebGPUOpenGL引擎

2020-03-06 10:16:55

Spring數據庫框架

2011-07-04 10:39:57

Web

2021-03-16 08:54:35

AQSAbstractQueJava

2021-06-21 08:58:14

MySQL數據庫Pages

2022-09-26 09:01:15

語言數據JavaScript

2019-01-07 15:29:07

HadoopYarn架構調度器

2012-05-21 10:06:26

FrameworkCocoa

2021-07-20 15:20:02

FlatBuffers阿里云Java

2017-07-02 18:04:53

塊加密算法AES算法

2023-12-04 13:22:00

JavaScript異步編程

2016-10-14 14:32:58

JavascriptDOMWeb

2010-07-26 12:57:12

OPhone游戲開發

2021-07-19 11:54:15

MySQL優先隊列

2016-10-14 13:53:05

JavascriptDOMWeb

2010-07-16 09:11:40

JavaScript內存泄漏

2009-11-17 17:31:58

Oracle COMM
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜电影网 | 这里只有精品99re | 看片地址 | 久久99精品久久久水蜜桃 | 日日精品 | 永久免费视频 | 亚洲国产精品日韩av不卡在线 | 国产精品三级 | 一级黄色大片 | 亚洲国产精品福利 | 国产在线精品一区二区 | 久久久久九九九女人毛片 | 欧美一区二区三区在线 | 亚洲一区二区在线播放 | 国产精品91久久久久久 | 在线色网 | 久久久久久成人 | 午夜av电影院 | 黄色片av | 最新中文字幕在线播放 | 亚洲精品一区二区另类图片 | 亚洲人成人一区二区在线观看 | 九九九久久国产免费 | 日韩在线看片 | 日韩三级一区 | 亚洲精品欧美 | www.中文字幕 | 亚洲成人免费 | 国产一区二区在线视频 | 超碰91在线 | 国产精品视频一区二区三区 | 国产精品久久久久久 | 国产成人99久久亚洲综合精品 | 欧美日韩中文在线 | 日韩高清中文字幕 | 亚洲精品久久久久久一区二区 | 狠狠狠色丁香婷婷综合久久五月 | 午夜99| 夜夜草av| 本道综合精品 | 天堂一区二区三区四区 |