亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ASP.NETSignalR的實時Web功能的實現

        2016-11-14 00:43:31李燕
        電腦知識與技術 2016年24期
        關鍵詞:數據總線

        李燕

        摘要:傳統(tǒng)Web網站中客戶端獲取服務器數據只能刷新頁面或使用Ajax輪詢才能實現實時顯示數據,微軟開發(fā)的SignalR服務端可主動向客戶端推送數據,實現了客戶端與服務器實時數據通信。該文介紹了SiganlR技術及在Web網站中的應用。

        關鍵詞:實時通信;實時Web功能;數據總線;SignalR

        中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)24-0062-02

        1 概述

        在網站開發(fā)中經常需要實現實時Web功能,即當所連接的客戶端變得可用時服務器代碼可立即向其推送內容,而不是讓服務器等待客戶端請求新的數據。在以前的Web網站技術中,客戶端要獲取服務器數據需通過不停地發(fā)送請求來輪詢服務端數據。這種發(fā)送Ajax請求給服務器的方式,在用戶量很大的情況下給服務器帶來很大的壓力,而定時刷新很多時候滿足不了對實時性要求較高的需求,比如聊天室應用,管制現場流控信息傳遞等,都要求實時更新。ASP.NET SignalR是這一問題比較好的解決方案。

        2 SignalR概述

        SignalR是微軟對Web開發(fā)技術棧的擴充,是一種可用來簡化交互式實時多用戶Web應用程序開發(fā)的框架,利用SignalR,可以真正實現了Web客戶端和服務器之間雙向通信。服務器可以將內容推送到已連接的客戶端。

        SignalR提供一個簡單的API用于創(chuàng)建服務器端到客戶端的遠程過程調用,以便從服務器端.Net代碼中調用客戶端瀏覽器中的JavaScript函數。SignalR還包括用于管理連接(例如連接和斷開連接事件)和為連接分組的API。SignalR會自動管理連接,允許向所有連接的客戶端同時發(fā)送消息,也可以向特定客戶端發(fā)送消息??蛻舳撕头斩说倪B接是持久性的,不像傳統(tǒng)的HTTP連接——每次通信都需要重新建立一個連接。

        SignalR是對一組在構建客戶端和服務器之間的real-time功能所需要使用的傳輸技術的抽象。SignalR連接首先以HTTP發(fā)起請求,然后如果WebSocket可用的話,則升級到WebSocket連接。WebSocket是SignalR的理想傳輸方式,因為它能夠高效的使用服務器的內存、有最低的延遲,而且有最主要的功能(客戶端和服務器之間的全雙工通信),但它也有最嚴格的環(huán)境要求:WebSocket要求服務器是Windows Server2012或Windows8以及.NET Framework4.5。如果不滿足這些要求,SignalR將嘗試使用其他傳輸方式來建立連接??傊琒ignalR以一種相對于開發(fā)者透明的方式確定服務器和客戶端之間最佳的通信技術方案(長輪詢、forever frame、Server-Sent Events、WebSocket),然后使用這種技術創(chuàng)建一條底層的連接并保持該連接的永久開放,并對連接的斷開和重連接進行自動管理,如圖1所示:

        SignalR在用來保持和服務器連接的傳輸層之上還存在著兩個不同的抽象層,它們構成了使用所建立虛擬連接的兩個API或兩套規(guī)則。其中一個被稱作持久連接(Persistent Connection),這是一個較低的層,因此離真實的連接較近,提供了一個非常類似套接字編程的開發(fā)API。第二個抽象層基于一個稱為Hub的組件,是一個建立于連接API的高級管道?;贘avascript的靈活性和C#的動態(tài)特性,Hub消弭了客戶端和服務器這兩個獨立物理環(huán)境之間的界限,它使得客戶端調用服務端的方法簡單得猶如調用本地方法一樣,反之亦然。使用Hub還可以將強類型參數傳遞給方法,并且可用綁定模型。這兩個抽象層之間的關系如圖2所示:

        SignalR允許我們透明地在客戶端和服務器之間直接進行方法調用,是如何做到的呢?這并沒有什么神奇之處,為了實現這樣的功能,SignalR將借助服務器Hub類在客戶端自動創(chuàng)建代理對象,并在它們的方法中輸入對它們實際方法的遠程調用。相反,當服務器調用客戶端某個方法時,它將被一個在服務端“打包”這些調用的動態(tài)類型的特殊協(xié)議所解析,并使用底層傳輸通過推送(push)將它們發(fā)送到其它端點。然后它們將到達客戶端,并在這里進行解析和執(zhí)行。過程如下圖所示:

        4 結束語

        SignalR是實現實時通信功能的有效解決方案,利用SignalR可以創(chuàng)建對消息實時性要求比較高的應用,如在線協(xié)作工具、多用戶游戲、實時信息服務等。在Web應用方面,如果有通過刷新頁面來查看數據或者是通過頁面實現長輪詢來檢索數據等需求,那么就可以考慮使用SiganlR了。

        參考文獻:

        [1] Patrick Fletcher. [EB/OL]http://www.asp.net/signalr/overview[E B/OL].

        [2] 張占嶺.SignalR實現服務器與客戶端的實時通信[Z].

        猜你喜歡
        數據總線
        一汽-大眾速騰轎車行駛中為何偶發(fā)多個故障燈點亮
        2012年產上汽大眾斯柯達明銳轎車空調不制冷的故障排除
        淺談航空電子數據總線技術
        基于智能電網調度控制的系統(tǒng)數據總線技術
        數碼世界(2020年7期)2020-08-04 11:23:18
        數據總線技術在制造門戶集成中的應用
        軟件(2017年9期)2018-03-02 00:21:28
        SQLite嵌入式數據庫在自動化生產車間中的應用
        智能電網調度控制系統(tǒng)中的數據總線技術研究
        科技資訊(2017年27期)2017-11-24 10:06:06
        企業(yè)信息化建設之我見
        如何在中技汽車維修專業(yè)中開展車載數據總線教學
        考試周刊(2015年28期)2015-09-10 23:41:43
        現場總線技術在電廠自動化控制中的應用
        日本免费播放一区二区| 麻豆第一区MV免费观看网站| 真实国产网爆门事件在线观看| 国产性感主播一区二区| 插入日本少妇一区二区三区| 国产精品99精品无码视亚 | 熟女人妻中文字幕一区 | 男人边吃奶边做好爽免费视频| 成人不卡国产福利电影在线看 | av在线播放免费网站| 99久久精品国产成人综合| 国产va在线播放| 亚洲av熟女传媒国产一区二区| 99久久精品久久久| 亚洲人成精品久久熟女| 丁香婷婷激情综合俺也去| 永久免费的av在线电影网无码| 99色网站| 中文字幕高清不卡视频二区| 久久天天躁狠狠躁夜夜avapp| 就去吻亚洲精品欧美日韩在线| 日本熟妇高潮爽视频在线观看| 日本av亚洲中文字幕| 人人妻人人爽人人澡人人| 狼友AV在线| 在线观看视频亚洲一区二区三区| 风情韵味人妻hd| 亚洲人成人影院在线观看 | 中文字幕亚洲精品码专区| 国产亚洲av成人噜噜噜他| 国产精品欧美一区二区三区| 亚洲AV无码久久久一区二不卡 | 国产丝袜在线福利观看| 亚洲精品无码不卡在线播he| 国产精品亚洲а∨天堂2021| 日韩黑人欧美在线视频观看| 富婆叫鸭一区二区三区| 色综合久久网| 又硬又粗又大一区二区三区视频 | 日韩亚洲一区二区三区在线| 人人鲁人人莫人人爱精品|