SignalRforASP.NetCore是SignalR的重生版,让你在ASP.NetCore中实现实时通信,实时意味着双方可以快速感知互相传入消息,比如:一旦服务端有需要推送的内容,就会直接推送给客户端,这与原来的http单向请求有着本质的区别。值得注意的是,ASP.NetCore版本的SignalR去掉了老版本的很多功能,比如:自动重连机制、消息处理机制、单连接多集线器,不过不用担心,新版本的SignalR提高了鲁棒性和易用性。一般来说,新版本与旧版本不兼容,新的SignalR客户端使用TypeScript。安装SignalR要使用SignalR,需要通过nuget引用Microsoft.AspNetCore.SignalR包,可以通过VisualStudio2019的NuGet包管理器可视化界面安装,也可以通过NuGet包管理器命令行工具输入如下命令:安装-PackageMicrosoft.AspNetCore.SignalR使用SignalR广播现在让我们实现如何在ASP.NetCore应用程序中使用SignalR广播消息。怎么做?创建自定义MessageHub类并继承类库中的Hub基类,在MessageHub方法中定义一个SendMessage,用于向所有连接的客户端发送消息,如下代码所示:publicclassMessageHub:Hub{publicasyncTaskSendMessage(stringuser,stringmessage){awaitClients.All.SendAsync("ReceiveMessage",user,message);}}配置SignalR要在ASP.NetCore中使用SignalR,只需调用Startup.ConfigureServices()中的扩展方法AddSignalR()注入到ServiceCollection,如下代码所示:rollersWithViews();}}为了启用MessageHub,您需要在Startup.Configure方法中添加以下代码:",pattern:"{controller=Home}/{action=Index}/{id?}");endpoints.MapHub
