.net core 3.0 Signalr - 01 基础篇
Posted xiexingen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net core 3.0 Signalr - 01 基础篇相关的知识,希望对你有一定的参考价值。
因为将signalr作为单独的站点,此处需要建立两个项目,一个专门用于signalr作为推送项目,一个客户端(实际的业务项目)
基础知识速览
Clients对象属性
属性 | 描述 |
---|---|
All | 在所有连接的客户端上调用方法 |
Caller | 在调用集线器方法的客户端上调用方法 |
Others | 除当前连接外的所有连接 |
Clients对象方法
方法 | 描述 |
---|---|
AllExcept | 在所有连接的客户端(指定的连接除外)上调用方法 |
Client | 在特定连接的客户端上调用方法(单个) |
Clients | 在特定连接的客户端上调用方法(多个) |
Group | 对指定组中的所有连接调用方法 |
GroupExcept | 对指定组中的所有连接调用方法,指定的连接除外 |
Groups | 在多组连接上调用方法 |
OthersInGroup | 对一组连接调用方法,而不包括调用该集线器方法的客户端 |
User | 对与特定用户关联的所有连接调用方法 |
Users | 对与指定用户相关联的所有连接调用方法 |
Signalr推送端
- 通过命令行或者vs 2019新建.netcore web项目,选择.net core 3.0、webapi
建立一个Hub
``` C#
public class NotifyHub : Hub
```- 修改Startup中的ConfigServices方法,注册对应的服务
C# // 添加Signalr services.AddSignalR(config => // _webEnv为通过依赖注入在Startup的构造函数中注入的 IWebHostEnvironment if (_webEnv.IsDevelopment()) config.EnableDetailedErrors = true; );
修改Configure配置HTTP请求的管道
``` C#
...
app.UseRouting();
app.UseEndpoints(endpoints =>
endpoints.MapHub("/notify-hub");
);```
业务端
创建连接对象
``` js
var connection=new signalR.HubConnectionBuilder()
.configureLogging(signalR.LogLevel.Error) // 前端控制台的日志级别,根据需要配置
.withUrl(‘http://localhost:50001/notify-hub‘) // 连接地址,这个地址是signalr项目的地址
.withAutomaticReconnect([0, 2000, 5000, 10000, 20000]) // 配置重连的时间
.build();// 重连的时候触发
connection.onreconnecting(function (info)
console.info(‘----------------------------------signalr-- onreconnecting‘, info);
);//连接关闭的回调
connection.onclose(function (err)
console.info(‘--------------------------------signalr-- onclose‘, err);
);connection.start().then(function (data)
console.log(‘已成功连接到signalr服务器‘)
).catch(function (error)
console.error(error.toString());
);```
更多内容请通过快速导航查看下一篇
快速导航
标题 | 内容 |
---|---|
索引 | .net core 3.0 Signalr - 实现一个业务推送系统 |
下一篇 | .net core 3.0 Signalr - 02 使用强类型的Hub |
源码地址 | 源码 |
官方文档 | 官方文档 |
以上是关于.net core 3.0 Signalr - 01 基础篇的主要内容,如果未能解决你的问题,请参考以下文章
.net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联
.net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联
.net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组用户连接
.net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组用户连接