SignalR trong C#

SignalR trong C#: Giao tiếp thời gian thực dễ dàng hơn bao giờ hết

Posted by Nguyen Quoc Dat on 04/20/2025 09:58:54
Giới thiệu Trong nhiều ứng dụng web hiện đại như chat, bảng thông báo, theo dõi trạng thái đơn hàng, hay dashboard realtime, việc cập nhật dữ liệu ngay lập tức mà không cần người dùng phải reload trang là rất quan trọng. Ở đây, SignalR xuất hiện như một công cụ mạnh mẽ giúp lập trình viên C# hiện thực hóa điều này một cách dễ dàng. SignalR là gì? SignalR là một thư viện của ASP.NET cho phép giao tiếp thời gian thực (real-time) giữa server và client. Nó cho phép server push dữ liệu đến client ngay khi có thay đổi, thay vì client phải chủ động "hỏi thăm" server liên tục (polling). SignalR hoạt động như thế nào? SignalR tự động chọn giao thức phù hợp nhất để kết nối giữa client và server: WebSockets (ưu tiên) Server-Sent Events Long Polling Bạn không cần quan tâm nhiều đến việc chọn giao thức – SignalR sẽ xử lý tự động giúp bạn. Tại sao nên dùng SignalR? Giao tiếp 2 chiều giữa server và client Dễ tích hợp với ASP.NET Core Hỗ trợ nhiều loại client: JavaScript, .NET, Java, v.v. Tự động reconnect khi mất kết nối Cách sử dụng SignalR trong ASP.NET Core 1. Cài đặt NuGet package bash Copy Edit dotnet add package Microsoft.AspNetCore.SignalR 2. Tạo một Hub csharp Copy Edit public class ChatHub : Hub { public async Task SendMessage(string user, string message) { await Clients.All.SendAsync("ReceiveMessage", user, message); } } 3. Cấu hình trong Program.cs csharp Copy Edit app.MapHub("/chatHub"); 4. Giao diện JavaScript client html Copy Edit

References: https://learn.microsoft.com/vi-vn/aspnet/core/signalr/introduction?view=aspnetcore-8.0

Category: Thread

Tag: