Blazor Server là một mô hình hosting của framework web Microsoft Blazor, trong đó ứng dụng được thực thi trên server bên trong một ứng dụng ASP.NET Core. Khác với các ứng dụng web truyền thống phải tải lại toàn bộ trang, Blazor Server sử dụng một kết nối thời gian thực để cập nhật giao diện người dùng (UI) một cách linh hoạt và tức thì. 1. Cơ chế vận hành: Sức mạnh từ SignalR Điểm khác biệt lớn nhất của Blazor Server (nay gọi là Interactive Server ) so với MVC hay Razor Pages truyền thống là Stateful Connection : Khi trình duyệt kết nối, một kênh SignalR (dựa trên WebSockets) được thiết lập. Toàn bộ logic UI và trạng thái component chạy trên server. Mỗi khi có sự kiện người dùng (click, gõ phím...), server chỉ tính toán phần thay đổi nhỏ nhất của HTML (gọi là UI diff ) và gửi đoạn dữ liệu cực nhỏ về trình duyệt để cập nhật giao diện. 2. Cấu trúc một ứng dụng Blazor Web App (.NET 10) Từ .NET 8 trở đi, Microsoft khuyến nghị sử dụng template Blazor Web App . Cấ...
Khi thực hiện migrate các dự án .NET Framework , việc chuyển đổi dữ liệu giữa Entity và DTO thường tốn rất nhiều thời gian. Hôm nay mình sẽ giới thiệu Mapster - một thư viện Mapping cực nhanh và nhẹ để thay thế cho việc gán tay (Manual Mapping) nhàm chán. 1. Cài đặt Mở NuGet Package Manager Console và chạy lệnh sau: Install-Package Mapster # hoặc dotnet add package Mapster 2. Khởi tạo Model Giả sử chúng ta có cấu trúc class như sau: public class Person { public string Title { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public DateTime? DateOfBirth { get; set; } public Address Address { get; set; } } public class Address { public string Street { get; set; } public string City { get; set; } public string PostCode { get; set; } public string Country { get; set; } } public class PersonDto { public string Title { get; set; } public string FirstName { get; set; } public string LastName { get...