成人免费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-02-07 08:02:33

Linux內核開源

2021-05-17 09:58:00

MySQL索引數據庫

2017-09-07 15:43:24

數據庫MongoDBMySQL

2022-01-06 07:59:32

WebGPUOpenGL引擎

2020-03-06 10:16:55

Spring數據庫框架

2021-03-16 08:54:35

AQSAbstractQueJava

2011-07-04 10:39:57

Web

2021-06-21 08:58:14

MySQL數據庫Pages

2019-01-07 15:29:07

HadoopYarn架構調度器

2017-07-02 18:04:53

塊加密算法AES算法

2012-05-21 10:06:26

FrameworkCocoa

2021-07-20 15:20:02

FlatBuffers阿里云Java

2022-09-26 09:01:15

語言數據JavaScript

2009-11-30 16:46:29

學習Linux

2012-02-21 13:55:45

JavaScript

2022-01-11 07:52:22

CSS 技巧代碼重構

2018-11-09 16:24:25

物聯網云計算云系統

2019-11-11 14:51:19

Java數據結構Properties

2022-11-09 08:06:15

GreatSQLMGR模式

2022-12-02 09:13:28

SeataAT模式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产超碰人人爽人人做人人爱 | 国产精品一区在线 | 中文字幕av在线 | 男人的天堂中文字幕 | 国产成人99久久亚洲综合精品 | 国产97在线 | 日韩 | 久久久精品日本 | 国产一区久久 | 久久久久久国产精品 | 久久久久久国产精品久久 | 99国产欧美| 亚洲一区二区三区高清 | 欧美日韩在线观看一区二区三区 | 五月天婷婷丁香 | 亚洲视频一区在线观看 | 欧美日韩精品一区二区三区四区 | 国产成人午夜高潮毛片 | 久久久视频在线 | 久久精品一区二区三区四区 | 午夜电影网站 | 国产精品96久久久久久 | 伊人网伊人 | 国产在线观看福利 | 情侣av| 亚洲一区二区 | 午夜在线视频一区二区三区 | 亚洲精品无人区 | 欧美性video 精品亚洲一区二区 | 日韩在线观看视频一区 | 欧美综合国产精品久久丁香 | 久久久久亚洲av毛片大全 | 久久精品国产一区二区三区不卡 | 羞羞视频免费在线观看 | 国产原创视频 | 欧美精品成人一区二区三区四区 | 国产视频一区二区在线观看 | 日日夜夜操天天干 | 视频一区二区在线观看 | 国产精品视频97 | 久久亚洲精品久久国产一区二区 | 久草网免费 |