Asp.net MVC SignalR來做實時Web聊天例項程式碼 | asp.net mvc signalr
本章和大家分享的內容是使用SignalR框架建立個簡易的群聊功能,主要講解如何在.Net的MVC中使用這個框架,由於這個專案有官方文件(當然全英文),後面也不打算寫分享篇了,主要目的是讓朋友們在需要使用Web實時通訊的時候有更多一種解決方案,畢竟這是微軟主推的一種解決方案之一。SignalR網上簡介ASP.NETSignalR是為ASP.NET開發人員提供的一個庫,可以簡化開發人員將實時Web功能新增到應用程式的過程。實時Web功能是指這樣一種功能:當所連線的客戶端變得可用時伺服器程式碼可以立即向其推送內容,而不是讓伺服器等待客戶端請求新的...
本章和大家分享的內容是使用Signal R框架建立個簡易的群聊功能,主要講解如何在.Net的MVC中使用這個框架,由於這個專案有官方文件(當然全英文),後面也不打算寫分享篇了,主要目的是讓朋友們在需要使用Web實時通訊的時候有更多一種解決方案,畢竟這是微軟主推的一種解決方案之一。
SignalR網上簡介
ASP.NET SignalR 是為 ASP.NET 開發人員提供的一個庫,可以簡化開發人員將實時 Web 功能新增到應用程式的過程。實時 Web 功能是指這樣一種功能:當所連線的客戶端變得可用時伺服器程式碼可以立即向其推送內容,而不是讓伺服器等待客戶端請求新的資料。
SignalR當然也提供了非常簡單易用的高階API,使伺服器端可以單個或批量呼叫客戶端上的JavaScript函式,並且非常 方便地進行連線管理,例如客戶端連線到伺服器端,或斷開連線,客戶端分組,以及客戶端授權,使用SignalR都非常 容易實現。
SignalR將與客戶端進行實時通訊帶給了ASP .NET 。當然這樣既好用,而且也有足夠的擴充套件性。以前使用者需要重新整理頁面或使用Ajax輪詢才能實現的實時顯示資料,現在只要使用SignalR,就可以簡單實現了。最重要的是您無需重新建立專案,使用現有ASP .NET專案即可無縫使用SignalR。
群聊例項效果
咋們先來看看測試用例的效果吧,效果圖:
介面及其簡單,樣式這裡就不考慮了,主要是展示其用法,這裡涉及到的功能有:
1. 統計線上人數量
2. 顯示線上人數的暱稱和連線方式(本測試用例支援webSockets和longPolling(長連線))
3. 群聊資訊
MVC中如何使用SignalR
首先,我們平常做法建立MVC的Web專案,然後通過Nuget控制檯命令: Install-package Microsoft.AspNet.SignalR 加入SignalR的依賴,自動新增的包如下:
<package id="Microsoft.AspNet.SignalR" version="2.2.2" targetFramework="net45" /> <package i...