C# 中如何使用 SignalR 构建实时应用?

· 约 4 分钟读完 · 第 173 / 183 章

推荐答案

本题详细解读

1. 安装 SignalR 包

在开始使用 SignalR 之前,首先需要通过 NuGet 包管理器安装 Microsoft.AspNetCore.SignalR 包。这个包包含了 SignalR 的核心功能,允许你在 ASP.NET Core 应用中构建实时功能。

2. 创建 SignalR Hub

SignalR Hub 是 SignalR 的核心组件,它负责处理客户端与服务器之间的通信。你可以通过继承 Hub 类来创建一个自定义的 Hub。在这个例子中,我们创建了一个 ChatHub,它包含一个 SendMessage 方法,用于向所有连接的客户端发送消息。

3. 配置 SignalR 服务

在 Startup.cs 文件的 ConfigureServices 方法中,你需要调用 services.AddSignalR() 来注册 SignalR 服务。这一步是必要的,因为它将 SignalR 添加到 ASP.NET Core 的依赖注入容器中。

4. 配置 SignalR 路由

在 Startup.cs 文件的 Configure 方法中,你需要配置 SignalR 的路由。通过调用 endpoints.MapHub<ChatHub>("/chatHub"),你可以将 ChatHub 映射到一个特定的 URL 路径(例如 /chatHub),客户端将通过这个路径连接到 SignalR Hub。

5. 客户端连接 SignalR

在客户端(例如浏览器中的 JavaScript),你可以使用 signalR.HubConnectionBuilder 来创建一个 SignalR 连接,并通过 withUrl 方法指定 SignalR Hub 的 URL。然后,你可以通过 connection.on 方法来监听服务器发送的消息,并通过 connection.start 方法来启动连接。

通过以上步骤,你就可以在 C# 中使用 SignalR 构建一个实时应用了。