Asp.net?core?使用SignalR推送消息過(guò)程詳解
1)、SignalR簡(jiǎn)介
ASP.NET Core SignalR 是為 ASP.NET 開發(fā)人員提供的一個(gè)庫(kù),可以簡(jiǎn)化開發(fā)人員將實(shí)時(shí) Web 功能添加到應(yīng)用程序的過(guò)程。
實(shí)時(shí) Web 功能是指這樣一種功能:當(dāng)所連接的客戶端變得可用時(shí)服務(wù)器代碼可以立即向其推送內(nèi)容,而不是讓服務(wù)器等待客戶端請(qǐng)求新的數(shù)據(jù)。
2)、SignalR主要用途:
它出現(xiàn)的主要用途:可以用在聊天室、Web實(shí)時(shí)推送消息 (Real-Push-Message)、單點(diǎn)和多點(diǎn)通訊、掃碼登陸、甚至可以結(jié)合其他技術(shù)用來(lái)做視頻聊天等等。
適合 SignalR 的候選項(xiàng):
- 需要從服務(wù)器進(jìn)行高頻率更新的應(yīng)用。 示例包括游戲、社交網(wǎng)絡(luò)、投票、拍賣、地圖和 GPS 應(yīng)用。
- 儀表板和監(jiān)視應(yīng)用。 示例包括公司儀表板、即時(shí)銷售更新或旅行警報(bào)。
- 協(xié)作應(yīng)用。 協(xié)作應(yīng)用的示例包括白板應(yīng)用和團(tuán)隊(duì)會(huì)議軟件。
- 需要通知的應(yīng)用。 社交網(wǎng)絡(luò)、電子郵件、聊天、游戲、旅行警報(bào)和很多其他應(yīng)用都需使用通知。
SignalR 提供用于創(chuàng)建服務(wù)器到客戶端SignalR 的 API。 RPC 從服務(wù)器端 .NET Core 代碼調(diào)用客戶端上的函數(shù)。 提供多個(gè)受支持的平臺(tái),其中每個(gè)平臺(tái)都有各自的客戶端 SDK。 因此,RPC 調(diào)用所調(diào)用的編程語(yǔ)言有所不同。
以下是 ASP.NET Core SignalR 的一些功能:
- 自動(dòng)處理連接管理。
- 同時(shí)向所有連接的客戶端發(fā)送消息。 例如聊天室。
- 向特定客戶端或客戶端組發(fā)送消息。
- 對(duì)其進(jìn)行縮放,以處理不斷增加的流量。
下面重點(diǎn)給大家介紹下Asp.net core 使用SignalR推送消息。
環(huán)境:
.net core3.1
一.服務(wù)端配置(Startup)
ConfigureServices
Configure
二、自定義類繼承Hub
public class SignalRHub: Hub { private readonly IHubContext<SignalRHub> _hubContext = null; public SignalRHub(IHubContext<SignalRHub> context) { _hubContext = context; } public override Task OnConnectedAsync() Console.WriteLine($"{Context.ConnectionId}已連接"); return base.OnConnectedAsync(); public void ReadClientMsgMethod(string msg) Console.WriteLine($"{ Context.ConnectionId}客戶端發(fā)來(lái)信息:" + msg); /// <summary> /// 全員發(fā)送 /// </summary> /// <param name="msg"></param> /// <returns></returns> public string CallAllClients(string msg) Console.WriteLine("============全員發(fā)送=========="); Clients.All.SendAsync("CallByHub", "全員發(fā)送>>>>>>>>>>" + msg); return MethodInfo.GetCurrentMethod()?.Name + ""; //發(fā)送消息--發(fā)送給所有連接的客戶端 public Task SendMessage(string msg) return _hubContext.Clients.All.SendAsync("CallByHub", msg); }
到此這篇關(guān)于Asp.net core 使用SignalR推送消息的文章就介紹到這了,更多相關(guān)Asp.net core推送消息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net下實(shí)現(xiàn)輸入數(shù)字的冒泡排序
.net下實(shí)現(xiàn)輸入數(shù)字的冒泡排序2010-03-03asp.net core項(xiàng)目中如何使用html文件
這篇文章主要給大家介紹了關(guān)于asp.net core項(xiàng)目中如何使用html文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面是隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02ASP.NET Core實(shí)現(xiàn)中間件的幾種方式
這篇文章介紹了ASP.NET Core實(shí)現(xiàn)中間件的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08巧妙使用JQuery Clone 添加多行數(shù)據(jù),并更新到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼
巧妙使用JQuery Clone 添加多行數(shù)據(jù),并更新到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-12-12