千家信息网

Asp.net中SignalR怎么用

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章将为大家详细讲解有关Asp.net中SignalR怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。巡更项目中,需要发送实时消息,以及需要任务开始提醒,于
千家信息网最后更新 2025年11月10日Asp.net中SignalR怎么用

这篇文章将为大家详细讲解有关Asp.net中SignalR怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

巡更项目中,需要发送实时消息,以及需要任务开始提醒,于是便有机会接触到SignalR,在使用过程中,发现用SignalR实现通信非常简单,下面我思明将从三个方面分享一下:

一、SignalR是什么

Asp.net SignalR是微软为实现实时通信的一个类库。一般情况下,SignalR会使用JavaScript的长轮询(long polling)的方式来实现客户端和服务器通信,随着Html5中WebSockets出现,SignalR也支持WebSockets通信。另外SignalR开发的程序不仅仅限制于宿主在IIS中,也可以宿主在任何应用程序,包括控制台,客户端程序和Windows服务等,另外还支持Mono,这意味着它可以实现跨平台部署在Linux环境下。

SignalR内部有两类对象:

Http持久连接(Persisten Connection)对象:用来解决长时间连接的功能。还可以由客户端主动向服务器要求数据,而服务器端不需要实现太多细节,只需要处理PersistentConnection 内所提供的五个事件:OnConnected, OnReconnected, OnReceived, OnError 和 OnDisconnect 即可。

Hub(集线器)对象:用来解决实时(realtime)信息交换的功能,服务端可以利用URL来注册一个或多个Hub,只要连接到这个Hub,就能与所有的客户端共享发送到服务器上的信息,同时服务端可以调用客户端的脚本。

SignalR将整个信息的交换封装起来,客户端和服务器都是使用JSON来沟通的,在服务端声明的所有Hub信息,都会生成JavaScript输出到客户端,.NET则依赖Proxy来生成代理对象,而Proxy的内部则是将JSON转换成对象。

二、为什么要用SignalR

聊天室,如在线客服系统,IM系统等

消息的实时推送服务

巡更人员位置的实时推送

三、怎么实现SignalR,下面主要介绍一下SignalR第一大功能,聊天。以下是一个简单的DEMO:

1、新建一个asp.net web 应用程序

2、选择模板MVC,同时更改无身份验证

3、选择新建的项目,右击-->选择管理NuGet程序包-->搜索 signalr--> 安装Microsoft ASP.NET SignalR

4、新建启动程序 Startup.cs

在类中添加代码:

app.MapSignalR();

5、新建SignalR集线器类ChatHub.cs

6、在集线器类ChatHub.cs中添加如下代码

public class ChatHub : Hub {  ///   /// 供客户端调用的服务器端代码  ///   ///   public void Send(string message)  {   var name = Guid.NewGuid().ToString().ToUpper();   // 调用所有客户端的sendMessage方法   Clients.All.sendMessage(name, message);  }  ///   /// 客户端连接的时候调用  ///   ///   public override Task OnConnected()  {   Trace.WriteLine("客户端连接成功");   return base.OnConnected();  } }

7、修改Index.cshtml页面代码

@{ ViewBag.Title = "聊天窗口";}

Chat

    @section scripts{ }

    8、直接运行程序,打开多个网页,都可以收到相同的消息。。如下:

    综上所述,SignalR使用起来很方便,而且配置很简单,功能也很强大。

    关于"Asp.net中SignalR怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

    服务 客户 客户端 服务器 程序 消息 信息 实时 对象 集线器 代码 功能 通信 篇文章 生成 选择 成功 事件 同时 多个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河北惠普服务器维修调试价格 网站的服务器是什么 在关系数据库中关系就是一个 贵阳网络安全示范中心 如何在数据库中图表加 数据库管理员应该怎样维护数据库 网络安全宣传知识试卷 广州软件开发者需要什么 外部接口如何获取数据库新增记录 苏州个人软件开发费用是多少 青海服务器硬盘质保期 企业大数据 数据库 星钻科技互联网 软件开发服务费的必要 数据库中时间的数据类型 方舟服务器被移除怎么把号转走 网络安全主持稿1docx 茂名专业软件开发价目表 t3数据库怎么进去 两台服务器建共享文件夹 软件开发人力外包合同 作业网络技术的应用实例 惠普服务器2012系统怎么安装 中兴软件开发校招面试几轮 靖江巨型网络技术厂家价格 外网打印服务器 全球网络安全股 章丘数字化城管软件开发系统 line连接服务器失败 上海银庭网络技术怎么样
    0