架构师_程序员_码农网

查看: 303|回复: 1

[资料] ASP.NET Core SignalR 分布式聊天系统[附源码]

[复制链接]
发表于 2021-4-16 20:27:41 | 显示全部楼层
ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功能添加到应用程序的功能。 实时 web 功能使服务器端代码可以立即将内容推送到客户端。

适用于 SignalR :

需要从服务器进行高频率更新的应用。 示例包括游戏、社交网络、投票、拍卖、地图和 GPS 应用。
仪表板和监视应用。 示例包括公司仪表板、即时销售更新或旅行警报。
协作应用。 协作应用的示例包括白板应用和团队会议软件。
需要通知的应用。 社交网络、电子邮件、聊天、游戏、旅行警报和很多其他应用都需使用通知。

回顾

asp.net mvc4.0 安装SignalR(一)
http://www.itsvse.com/thread-3837-1-1.html

mvc4.0 如何使用SignalR(二)
http://www.itsvse.com/thread-3838-1-1.html

SignalR进行websocket通讯(三)
http://www.itsvse.com/thread-3845-1-1.html

websocket之signalr通讯身份验证[源码]
https://www.itsvse.com/thread-3464-1-1.html

文档

https://docs.microsoft.com/zh-cn/aspnet/core/signalr/introduction
https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr

关于配置

https://docs.microsoft.com/en-us/aspnet/core/signalr/configuration

授权验证

https://docs.microsoft.com/en-us/aspnet/core/signalr/authn-and-authz

首先,先看效果图,模拟 SignalR 部署在不同的服务器上面,如下图:

notice.gif

新建一个 ASP.NET  Core 3.1 的项目

在“解决方案资源管理器”中,右键单击项目,然后选择“添加”>“客户端库” 。
在“添加客户端库”对话框中,对于“提供程序”,选择“unpkg”。
对于“库”,输入 @microsoft/signalr@latest
选择“选择特定文件”,展开“dist/browser”文件夹,然后选择“signalr.js”和“signalr.min.js”。
将“目标位置”设置为 wwwroot/js/signalr/,然后选择“安装”。


QQ截图20210415101707.jpg

在项目新建一个 TestHub 文件,支持身份验证,代码如下:

如需支持分布式,需要安装 Microsoft.AspNetCore.SignalR.StackExchangeRedis  包,使用 nuget 安装命令如下:

在 Startup 文件 ConfigureServices 和 Configure 注册服务和配置,代码如下:

前端主要的代码如下:

也可以通过控制器主动向用户推送消息,代码如下:


源码下载:https://down.itsvse.com/item/25246.html




上一篇:.NET/C# 操作 Redis 无序集合
下一篇:ORM 框架 SqlSugar 的简单使用
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-4-23 13:07:14 | 显示全部楼层
SignalR 增加远程访问跨域支持
https://www.itsvse.com/thread-9627-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2021-5-17 17:04

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表