欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Asp.net?core?使用SignalR推送消息過(guò)程詳解

 更新時(shí)間:2022年03月22日 11:38:51   作者:執(zhí)著的濤  
ASP.NET?Core?SignalR?是一個(gè)開放源代碼庫(kù),可用于簡(jiǎn)化向應(yīng)用添加實(shí)時(shí)?Web?功能。?實(shí)時(shí)?Web?功能使服務(wù)器端代碼能夠?qū)?nèi)容推送到客戶端,本文重點(diǎn)給大家介紹Asp.net?core?使用SignalR推送消息,感興趣的朋友一起看看吧

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)文章

最新評(píng)論