1. 程式人生 > >.net core 3.0 Signalr - 實現一個業務推送系統

.net core 3.0 Signalr - 實現一個業務推送系統

## 介紹 ASP.NET Core SignalR 是一個開原始碼庫,它簡化了嚮應用新增實時 Web 功能的過程。 實時 Web 功能使伺服器端程式碼能夠即時將內容推送到客戶端。 SignalR 的適用物件: - 需要來自伺服器的高頻率更新的應用。 例如:遊戲、社交網路、投票、拍賣、地圖和 GPS 應用。 - 儀表板和監視應用。 示例包括公司儀表板、銷售狀態即時更新或行程警示。 - 協作應用。 協作應用的示例包括白板應用和團隊會議軟體。 - 需要通知的應用。 社交網路、電子郵件、聊天、遊戲、行程警示以及許多其他應用都使用通知。 SignalR 提供了一個用於建立伺服器到客戶端遠端過程呼叫(RPC)的 API。 RPC 通過伺服器端 .NET Core 程式碼呼叫客戶端上的 JavaScript 函式。 以下是 ASP.NET Core SignalR 的一些功能: - 自動管理連線。 - 同時向所有連線的客戶端傳送訊息。 例如,聊天室。 - 將訊息傳送到特定的客戶端或客戶端組。 - 擴充套件以處理增加的流量。 ## 業務需求 - 一個人可以開多個tab有多個連線 - 給指定的一個、一批人推送(以User為中心對該使用者的所有連線進行推送(瀏覽器多個tab)) - 給指定的組中某些人推送(群聊) - 給指定的人某些Connect推送(登入排斥,不允許多臺電同時腦登入) ## 改進部分 - 優先使用socket進行通訊 - 支援一個使用者多個連線 - 使用MessagePack進行傳輸 - 使用Redis作為底板來支援橫向擴充套件 本系列共分為10篇,包括基礎知識介紹,專案實戰等,目錄如下 [.net core 3.0 Signalr - 01 基礎篇](/2019/09/21/dotnetcore/signalr/01-base/) [.net core 3.0 Signalr - 02 使用強型別的Hub](/2019/09/22/dotnetcore/signalr/02-type-hub/) [.net core 3.0 Signalr - 03 使用MessagePack壓縮傳輸內容](/2019/09/29/dotnetcore/signalr/03-message-pack/) [.net core 3.0 Signalr - 04 使用Redis做底板來支援橫向擴充套件](/2019/10/01/dotnetcore/signalr/04-redis/) [.net core 3.0 Signalr - 05 使用jwt將使用者跟signalr關聯](/2019/10/02/dotnetcore/signalr/05-jwt/) [.net core 3.0 Signalr - 06 業務實現-業務分析](/2019/10/03/dotnetcore/signalr/06-analysis/) [.net core 3.0 Signalr - 07 業務實現-服務端 自定義管理組、使用者、連線](/2019/10/04/dotnetcore/signalr/07-self-manager/) [.net core 3.0 Signalr - 08 業務實現-客戶端demo](/2019/10/05/dotnetcore/signalr/08-clientdemo/) [.net core 3.0 Signalr - 09 待改進&交流](/2019/10/05/dotnetcore/signalr/09-todo/) ## Demo原始碼地址 > https://github.com/xiexingen/CTS.Signalr ## 強烈推薦的參考文件 > 微軟官方文件:https://docs.microsoft.com/zh-CN/aspnet/core/signalr/introduction?view=aspnetcore-3.0 > 發現寫的不錯的部落格: https://www.cnblogs.com/cgzl/p/9509207.html > 發現寫的不錯的部落格:https://www.cnblogs.com/cgzl/p/9515516.html ## 訂閱內容,請關注公眾號 ![二維碼](https://img2018.cnblogs.com/blog/394514/201910/394514-20191005204947833-979078