© 2026 Hashnode
Caching is one of the simplest ways to improve performance in ASP.NET Core — yet it often behaves differently than developers expect. I recently created a small demo in .NET 8 to test how [ResponseCache] and [OutputCache] actually work.Both attribut...

In this post, we’ll walk through building a clean and modular Role-Based Authorization system in a .NET 8 Web API. Using JWT for authentication and LiteDB for storage, we’ll demonstrate how to restrict access to endpoints based on user roles like Adm...

Upgrading a legacy application sounds exciting until you realize how many things can break. I recently led the migration of a production .NET Core 3.1 application to .NET 8, and it turned out to be smoother than expected, thanks to a disciplined appr...

Introduction: With each new .NET release, we get powerful improvements—and in .NET 8, it's no exception. But the real power lies not just in upgrading apps, but in how we write and structure them. After working on enterprise-grade systems for over 1...

In the world of ASP.NET Core development, configuration plays a crucial role in ensuring that applications run smoothly across different environments. One of the key files that aid in this configuration is the launchSettings.json file. In this articl...

The Model-View-Controller (MVC) design pattern remains a cornerstone of web development. But how has ASP.NET MVC, the .NET implementation of MVC, evolved over time? Let's take a trip down memory lane and explore the key differences between ASP.NET MV...

Complete CRUD in ASP.NET Core Web API with Repository Pattern and EF Core in Layered Architecture. Everything You Need To Build Production-Ready CRUD Operation With N-Layer Architecture. To see more details, please visit: https://saddamhossain.net/es...
