A cache stampede occurs when many concurrent requests all miss the cache simultaneously and hammer the backend. Using ASP.NET Core's IMemoryCache without locking leaves this problem unaddressed. Three fixes are presented: (1) a per-key SemaphoreSlim with double-checked locking to serialize concurrent rebuilds for the same key, (2) Microsoft's HybridCache which provides built-in stampede protection and a two-level cache out of the box, and (3) adding TTL jitter to prevent many different keys from expiring at the same instant. HybridCache is recommended for broader use, while SemaphoreSlim works well for a small number of hot keys.
Nguồn: https://bartwullems.blogspot.com/2026/07/cache-stampede-when-our-cache-turned.html. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Blazor Full Stack trong .NET 10 cho phép lập trình viên C# xây dựng ứng dụng web toàn diện bằng mô hình chia sẻ, Razor components và các chế độ render linh hoạt mà không cần duy trì frontend/backend riêng biệt. Công nghệ này phù hợp cho ứng dụng doanh nghiệp, dashboard, cổng quản trị hoặc công cụ nội bộ nặng về form, nhưng không thích hợp cho các dự án JS trưởng thành hoặc UI người dùng giàu animation.
Là lập trình viên C# đang tìm cách tối ưu hóa phát triển ứng dụng web với sự thống nhất giữa frontend và backend mà không cần chia sẻ mã nguồn giữa hai môi trường, Blazor Full Stack là giải pháp tiên tiến mà bài viết giải thích chi tiết cách sử dụng và khi nào phù hợp.
Monthly .NET community newsletter from JetBrains covering curated links on C# features (discriminated unions, field keyword, IL weaving), .NET 11 previews, EF Core vs Dapper, Dapr workflows, MCP servers in C#, and more. JetBrains news includes Rider 2026.2 EAP progress with AI agent profiling skills and natvis debugger support, GitHub Copilot integration in JetBrains AI Assistant, and Junie coding agent exiting beta with a top SWE-Rebench ranking.
A clear breakdown of monolithic architecture for C# developers, covering three distinct types: the single-process monolith (classic layered ASP.NET Core app), the modular monolith (enforced internal boundaries via separate class library projects), and the distributed monolith (an anti-pattern combining distributed complexity with tight coupling). Each type is illustrated with concrete C# code examples. The modular monolith is recommended as the default for most teams due to its deployment simplicity, structural clarity, and easier migration path to microservices if needed. The distributed monolith is explicitly called out as something to avoid.
ABP is running a summer discount campaign from July 6 to July 20, offering 20% off new licenses, 10% off renewals, and up to $300 in AI credits for the ABP AI Agent in ABP Studio. The ABP AI Agent is a coding assistant tailored for ABP developers that can generate entities, services, UI components, database migrations, and automate development workflows within ABP Studio.
Sách "Blazor WebAssembly by Example (Third Edition)" của tác giả Toi B. Wright hướng dẫn phát triển ứng dụng Blazor WebAssembly với .NET 10 thông qua các dự án thực tế, từ cơ bản đến nâng cao như JWT authentication, PWA, QuickGrid, IndexedDB, triển khai Azure và tích hợp AI. Cuốn sách được đánh giá cao bởi nhà phát triển .NET, phù hợp cho lập trình viên C# và ASP.NET Core muốn chuyển sang phát triển full-stack .NET mà không cần dùng framework JavaScript.
Nếu bạn là lập trình viên C# muốn khám phá cách kết hợp Blazor WebAssembly với .NET để xây dựng ứng dụng web toàn diện mà không cần chuyển sang JavaScript, cuốn sách này sẽ là nguồn tư liệu thực hành chi tiết và hiện đại nhất.
Covers best practices for exception handling in ASP.NET Core, emphasizing that exceptions should be reserved for truly unpredictable situations rather than expected errors like input validation. Introduces the Result Pattern as a structured alternative for predictable failures, returning a typed Result object with IsSuccess and Error properties instead of throwing exceptions. Also covers creating custom exceptions for better traceability and domain clarity, and helper methods to avoid duplicate exception throwing across a codebase.