Tìm hiểu phương thức Build của lớp HostBuilder trong .NET Core
Trong .NET Core, khi làm việc với IHostBuilder, phương thức Build() thực hiện một loạt các tác vụ khởi tạo quan trọng để xây dựng một host hoàn chỉnh. Bài viết này sẽ phân tích chi tiết các bước mà phương thức này thực hiện.
Các trường được khởi tạo
Trước khi đi vào chi tiết phương thức Build, chúng ta cần nắm được các trường (fields) được sử d ...
Đăng vào ngày 27 tháng 6 lúc 08:02
Hiểu Về Sử Dụng DbContext Trong EFCore Đến Triển Khai Tự Động Tiêm Thuộc Tính Với DI
Bối Cảnh
Trong quá trình di chuyển dự án từ Framework sang .NET Core 3.0, tôi đã chọn EFCore kết hợp với MySQL cho tầng truy cập dữ liệu. Khi làm việc với EF, việc tương tác với DbContext là không thể tránh khỏi. Trong Core, cách sử dụng thông thường là: tạo một lớp XXXContext kế thừa từ DbContext, triển khai một hàm tạo có tham số DbContextOpt ...
Đăng vào ngày 23 tháng 6 lúc 02:14
Áp Dụng Dependency Injection Trong Ứng Dụng Express.js Để Tăng Tính Linh Hoạt Và Khả Năng Kiểm Thử
Khi dự án Express.js mở rộng, việc quản lý các thành phần như dịch vụ, bộ xử lý cơ sở dữ liệu hay lớp nghiệp vụ thường trở nên rối rắm nếu phụ thuộc vào khởi tạo trực tiếp hoặc gọi `require()` tại nhiều nơi. Dependency Injection (DI) giúp tách biệt việc tạo đối tượng khỏi việc sử dụng chúng — từ đó cải thiện khả năng kiểm thử, tái sử dụng và bả ...
Đăng vào ngày 11 tháng 6 lúc 16:00
Các phương thức mở rộng của IServiceCollection trong .NET Core
Giới thiệu về IServiceCollection
Trong .NET Core và ASP.NET Core, IServiceCollection là một container chứa tất cả các dịch vụ (services) của ứng dụng. Framework cung cấp nhiều phương thức mở rộng (extension methods) giúp cấu hình các dịch vụ một cách dễ dàng và nhanh chóng.
Các phương thức mở rộng phổ biến
1. Xác thực và bảo mật
AddAntiforg ...
Đăng vào ngày 31 tháng 5 lúc 23:24
Cơ Chế Proxy Hóa Bean Trước Khi Khởi Tạo Trong Spring Framework
Trong vòng đời quản lý Bean của Spring, giai đoạn khởi tạo (instantiation) là bước then chốt để tạo ra đối tượng thực tế. Tuy nhiên, framework cũng cung cấp cơ chế để can thiệp vào quá trình này thông qua giao diện InstantiationAwareBeanPostProcessor. Đặc biệt, phương thức postProcessBeforeInstantiation cho phép trả về một đối tượng proxy thay ...
Đăng vào ngày 29 tháng 5 lúc 10:16
Xây Dựng Lớp Wrapper Elasticsearch Cho .NET Và Thực Hiện CRUD
Để bắt đầu tích hợp Elasticsearch vào dự án .NET, bước đầu tiên là cài đặt gói thư liệu chính thức thông qua NuGet. Gói cần thiết là Elastic.Clients.Elasticsearch. Sau khi cài đặt, chúng ta sẽ xây dựng một lớp trừ tượng để quản lý kết nối và các thao tác cơ bản.
Thiết Lập Thư Viện Core
Chúng ta sẽ tạo một project class library để chứa các logi ...
Đăng vào ngày 29 tháng 5 lúc 08:02
Hướng Dẫn Tránh Bẫy Khi Viết Unit Test PHP: 8 Vấn Đề Thường Gặp và Giải Pháp
Giá trị cốt lõi và cách tiếp cận mới với unit test trong PHP
Trong phát triển phần mềm hiện đại, unit test không còn là công cụ tùy chọn mà đã trở thành hạ tầng thiết yếu để đảm bảo chất lượng và tăng hiệu quả hợp tác giữa các thành viên. Việc viết test không chỉ nhằm xác minh hành vi của các hàm hoặc lớp, mà còn đóng vai tròthen chốt trong quy ...
Đăng vào ngày 29 tháng 5 lúc 05:00
Hướng dẫn Tích hợp AOP với Unity Container trong .NET
Tại sao cần sử dụng AOP
Nhu cầu phát triển phần mềm thường xuyên biến đổi, đòi hỏi việc bổ sung các chức năng như ghi log, xử lý ngoại lệ, kiểm soát quyền hạn, cơ chế lưu đệm hoặc quản lý giao dịch vào nhiều phương thức khác nhau. Trong mô hình lập trình hướng đối tượng (OOP) thuần túy, điều này thường buộc chúng ta phải sửa đổi trực tiếp mã ng ...
Đăng vào ngày 22 tháng 5 lúc 10:43