ASP.NET Core 基于SignalR实时通讯的前后端分离技术

环境

  1. Visual Studio 2019
  2. ASP.NET Core 3.1

创建项目

  1. 从菜单中选择文件>新建项目

  2. 创建新项目对话框中,选择ASP.NET Core Web 应用程序,然后选择下一步

  3. 在“配置新项目”对话框中,将项目命名为SignalRChat,然后选择创建

  4. 创建新的 ASP.NET Core Web 应用程序对话框中,选择.NET Core 和 ASP.NET Core 3.1

  5. 选择项目模板,然后选择创建

添加Hub

  1. 在项目中添加Hubs文件夹主要用于管理Signar通讯所需Hub
  2. Hubs文件夹中,使用以下代码创建ExchangeHub.cs文件
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;

namespace VueSignalR.Hubs
{
    public class ExchangeHub : Hub
    {
        public async Task SendMessage()
        {
            await Clients.All.SendAsync("ReceiveMessage", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
        }
    }
}

配置 SignalR

  1. Setup.cs中的ConfigureServices函数中添加
 services.AddSignalR();
  1. Setup.cs中的Configure函数中对应修改为
app.UseEndpoints(endpoints =>
{
     endpoints.MapControllers();
     endpoints.MapHub("/exchangehub");
 });

前端部分代码基于vuesignalr进行开发,测试代码请点击下载

你可能感兴趣的:(C#,ASP.NET,Core,SignalR,前后端分离)