Asp.net core 使用SignalR推送消息过程详解

 更新时间:2022年03月22日 11:38:51   作者:执着的涛  
ASP.NET Core SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能。 实时 Web 功能使服务器端代码能够将内容推送到客户端,本文重点给大家介绍Asp.net core 使用SignalR推送消息,感兴趣的朋友一起看看吧

1)、SignalR简介

ASP.NET Core SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。

实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。

2)、SignalR主要用途:

它出现的主要用途:可以用在聊天室、Web实时推送消息 (Real-Push-Message)、单点和多点通讯、扫码登陆、甚至可以结合其他技术用来做视频聊天等等。

适合 SignalR 的候选项:

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

SignalR 提供用于创建服务器到客户端SignalR 的 API。 RPC 从服务器端 .NET Core 代码调用客户端上的函数。 提供多个受支持的平台,其中每个平台都有各自的客户端 SDK。 因此,RPC 调用所调用的编程语言有所不同。

以下是 ASP.NET Core SignalR 的一些功能:

  • 自动处理连接管理。
  • 同时向所有连接的客户端发送消息。 例如聊天室。
  • 向特定客户端或客户端组发送消息。
  • 对其进行缩放,以处理不断增加的流量。

下面重点给大家介绍下Asp.net core 使用SignalR推送消息。

环境:

.net core3.1

一.服务端配置(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}客户端发来信息:" + msg);
        /// <summary>
        /// 全员发送
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public string CallAllClients(string msg)
            Console.WriteLine("============全员发送==========");
            Clients.All.SendAsync("CallByHub", "全员发送>>>>>>>>>>" + msg);
            return MethodInfo.GetCurrentMethod()?.Name + "";
        //发送消息--发送给所有连接的客户端
        public Task SendMessage(string msg)
            return _hubContext.Clients.All.SendAsync("CallByHub", msg);
    }

到此这篇关于Asp.net core 使用SignalR推送消息的文章就介绍到这了,更多相关Asp.net core推送消息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 设置ASP.NET页面的运行超时时间详细到单个页面及站点

    设置ASP.NET页面的运行超时时间详细到单个页面及站点

    这篇文章主要介绍了如何设置ASP.NET页面的运行超时时间,包括全局超时时间、单个站点超时时间、单个页面请求超时时间,需要的朋友可以参考下
    2014-06-06
  • 利用Service Fabric承载eShop On Containers的实现方法

    利用Service Fabric承载eShop On Containers的实现方法

    下面小编就为大家分享一篇利用Service Fabric承载eShop On Containers的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Asp.net Core项目配置HTTPS支持

    Asp.net Core项目配置HTTPS支持

    这篇文章介绍了Asp.net Core项目配置HTTPS支持的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 如何在ASP.NET Core中使用HttpClientFactory

    如何在ASP.NET Core中使用HttpClientFactory

    这篇文章主要介绍了如何在ASP.NET Core中使用HttpClientFactory,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下
    2021-04-04
  • asp.net LINQ中数据库连接字符串的问题

    asp.net LINQ中数据库连接字符串的问题

    这两天一直在用LINQ做开发,也是第一次尝试用LINQ做开发,效率没的说,开发过程中遇到一个问题困扰了我好久,今天问题终于解决了,发上来和大家分享一下,也给自己做个备忘。
    2010-03-03
  • DAM 简单跨数据库ADO.NET组件

    DAM 简单跨数据库ADO.NET组件

    这是一个可以实现简单跨数据库基于ADO.NET的组件。您可以在DAL层透过它来访问数据库。这是一个以前写过一个小组件的修改版.
    2011-01-01
  • ASP.NET MVC中分部视图的应用方法

    ASP.NET MVC中分部视图的应用方法

    这篇文章主要给大家介绍了关于ASP.NET MVC中分部视图的应用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • dataGrid 多维表头、表头跨行跨列设计及绑定数据

    dataGrid 多维表头、表头跨行跨列设计及绑定数据

    dataGrid 其实就是一个html table,本文将介绍dataGrid 多维表头,表头跨行跨列设计方法需要了解的朋友可以参考下
    2012-12-12
  • C#中HTML字符转换函数分享

    C#中HTML字符转换函数分享

    在ASP.Net中经常会从网面中取数据或更新网页的显示。因为HTML中有些特殊字符如<, >, &等,显示实际值不一致,造成保存到数据库再取出来时会不一样
    2012-07-07
  • net core webapi多版本控制与swagger(nswag)配置教程

    net core webapi多版本控制与swagger(nswag)配置教程

    这篇文章主要介绍了net core webapi多版本控制与swagger(nswag)配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论