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: