Tối ưu hóa hiệu suất API cho các tác vụ xử lý dữ liệu lớn bằng Background Jobs
Trong quá trình phát triển ứng dụng web, các tác vụ xử lý dữ liệu nặng hoặc gọi API bên thứ ba có độ trễ lớn thường làm giảm trải nghiệm người dùng do thời gian chờ đợi phản hồi (timeout). Để giải quyết vấn đề này, việc chuyển đổi các tác vụ đồng bộ sang xử lý bất đồng bộ thông qua Background Jobs là một giải pháp tối ưu. Dưới đây là cách triển ...
Đăng vào ngày 29 tháng 6 lúc 16:12
Xây dựng Identity hỗ trợ nhiều cơ sở dữ liệu khác nhau trong .NET Core
Bài viết này hướng dẫn cách tách riêng logic Identity thành các dự án độc lập, cho phép dễ dàng chuyển đổi hoặc hỗ trợ nhiều loại cơ sở dữ liệu khác nhau (MySQL, SQL Server, PostgreSQL...) mà không làm ảnh hưởng đến code chính.
1. Tạo thư viện EF chung (ExtendEF)
Đầu tiên, tạo một thư viện lớp chứa các định nghĩa entity và DbContext dùng chung ...
Đăng vào ngày 29 tháng 6 lúc 13:23
Thực hiện AOP bằng AutoFac trong .NET Core
Thêm thư viện cần thiết
Sử dụng Nuget để cài đặt gói Autofac.Extras.DynamicProxy.
Xây dựng lớp ghi nhận hành vi
/// <summary>
/// Lớp xử lý giao diện (thực hiện Castle.DynamicProxy.IInterceptor)
/// </summary>
public class GhiNhanKetQua : IInterceptor
{
public void Intercept(IInvocation invocation)
{
Console.WriteLin ...
Đăng vào ngày 29 tháng 6 lúc 06:52
Tích hợp Nacos với .NET Core và Ocelot
Cài đặt từ nuget:
nacos-sdk-csharp.Extensions.Configuration
Để cài đặt Nacos thông qua Docker, lưu ý rằng các phiên bản mới mở thêm cổng 9848 và 9849 cho giao tiếp GRPC:
docker run --name nacos \
-e MODE=standalone \
-p 8848:8848 -d \
-p 9848:9848 \
-p 9849:9849 \
--restart always nacos/nacos-server:latest
Truy cập giao diện Nacos tại:
http:/ ...
Đăng vào ngày 27 tháng 6 lúc 18:19
MongoDB Compass - Công cụ giao diện quản lý CSDL
Cấu hình kết nối MongoDB qua giao diện người dùng
Tải xuống MongoDB Compass (GUI) | Hướng dẫn kết nối
Cú pháp kết nối terminal:
mongo IP:PORT/TEN_CSDL -u TEN_TAI_KHOAN -p MAT_KHAU
Ví dụ: 192.168.0.168:27017/test -u admin -p 123456
Thiết lập ứng dụng .NET
Kết nối CSDL MongoDB:
mongodb://localhost:27017
Định dạng chuỗi kết nối đầy đủ:
mongodb://T ...
Đăng vào ngày 26 tháng 6 lúc 04:30
Đóng gói thư viện Canal trong .NET Core
Bài viết này sẽ hướng dẫn cách đóng gói và sử dụng Canal trong ứng dụng .NET Core, bao gồm việc tạo service chạy nền, xử lý dữ liệu thay đổi từ cơ sở dữ liệu và cấu hình kết nối.
Service chạy nền
Để lắng nghe và xử lý các thay đổi từ Canal, chúng ta triển khai service nền bằng IHostedService. Service này chịu trách nhiệm kết nối, nhận message ...
Đăng vào ngày 25 tháng 6 lúc 16:21
Hiểu sâu về Dependency Injection trong .NET
Nguyên tắc Inversion of Control (IoC)
Dependency Injection (DI) là một kỹ thuật cụ thể để thực hiện nguyên lý Inversion of Control – đảo ngược kiểm soát. Thay vì các thành phần tự tạo ra phụ thuộc của mình, chúng được cung cấp từ bên ngoài bởi một container quản lý.
Trước đây, lập trình viên phải chủ động khởi tạo đối tượng:
IDbConnection conne ...
Đăng vào ngày 24 tháng 6 lúc 20:00
Triển khai Ứng dụng .NET Core trên CentOS với Quản lý Đa Tiến trình bằng Supervisor
Chuẩn bị Môi trường
Yêu cầu hệ thống:
Dự án .NET Core đã kiểm thử cục bộ
Máy ảo CentOS 7+
Công cụ kết nối SSH như MobaXterm
Cấu hình Firewall
Kiểm tra cổng đang sử dụng:
ss -tuln | grep 6000
Mở cổng ứng dụng và giao diện Supervisor:
firewall-cmd --zone=public --add-port=6000/tcp --permanent
firewall-cmd --zone=public --add-port=6001/tcp --pe ...
Đăng vào ngày 18 tháng 6 lúc 21:43
Triển khai .Net Core trên Docker trong Windows
Cài đặt và Cấu hình
Tải Docker từ trang web chính thức: https://www.docker.com/get-started
Cấu hình镜像加速
Để tăng tốc độ tải, bạn cần cấu hình các mirror cho Docker. Thêm các đường dẫn sau vào tệp cấu hình Docker:
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://dockerproxy.com",
"https://hub ...
Đăng vào ngày 13 tháng 6 lúc 18:30
Hệ Thống Quản Lý Công Việc Phân Tán ScheduleMaster
1.ScheduleMaster Là Gì
ScheduleMaster là hệ thống quản lý công việc phân tán, được viết bởi một nhà phát triển trong nước. Hiểu đơn giản, ScheduleMaster là một khung để quản lý tập trung các công việc từ các hệ thống khác nhau.
Ví dụ, nếu chúng ta có nhiều hệ thống với các tác vụ riêng biệt và mỗi hệ thống phải tự duy trì thì sẽ rất khó khăn kh ...
Đăng vào ngày 13 tháng 6 lúc 03:25