SignalR是基于B/S架構的及時通信組件,可以由辦事器標的目的客戶端推送數據,而不消讓辦事器期待客戶端的請求數據。同時,SignalR默認主動選擇撐持的傳輸體例,當然也可以指心猿意馬某一種或者多種傳輸體例(如:優先WebSockets,然后長輪詢體例:connection.start({transport:["webSockets", "longPolling"]}))。
1、HTML5傳輸: 若是瀏覽器撐持此體例
2、WebSocket傳輸: 客戶端和辦事器之間成立持久雙標的目的毗連的傳輸體例,要求辦事器是Windows Server 2012+,Windows 8+,.NET FrameWork 4.5+
3、辦事器發送事務: 除IE外的其他瀏覽器撐持
4、Comet傳輸: 基于Comet Web模子,客戶端維護者一個長時候的Http請求
5、Forever Frame: 僅IE撐持
6、Ajax長輪詢: 不會建立持久性的毗連,采用輪詢辦事器的體例實現
用于指心猿意馬傳輸體例的字符串常量有: webSockets、forverFrame、serverSentEvents、longPolling
IIS要求:
1)IIS 8+
2)IIS 7、IIS 7.5:需要 extensionless URLs撐持
3)IIS應用法式池必需在集當作模式下運行
下面介紹 SignalR 2.0 + ASP.NET MVC 5.0 的入門教程
【建立MVC項目】
建立asp.net mvc 5.0的項目SignalRDemo,并添加HomeController和Index頁面
【安裝SignalR】
在SignalRDemo項目上【右鍵】->【辦理NuGet法式包】-> 搜刮【signalr】-> 安裝
【注冊SignalR中心件】
在SignalRDemo項目上【右鍵】->【添加】->【類】,輸入【Startup】作為類名,并添加如下代碼
【建立Hub】
在SignalRDemo項目上添加文件夾【Hubs】,并添加如下類【FirstHub】,在現實的項目中,此類可以自力為一個項目標
注重:此處為了便利利用,移除了定名空間的【.Hubs】后綴
【頁面添加SignalR引用】
注重:需要添加SignalR主動生當作的代碼引用,即使在未運行前項目中看不到這個文件夾
【頁面挪用SignalR】
注重:JS挪用后臺方式的首字母小寫
【運行結果】
可以打開多個瀏覽器,或者瀏覽器頁簽,在一個頁面中輸入內容,點擊按鈕提交內容,不需要刷新各個頁面,辦事端將主動推送內容到各個頁面。
因為此處演示,并未存儲之前的值,所以,若是后面打開的頁面是看不到前面的提交過的內容的
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!