ASP.NET Core for Backend: From beginners to deep dive
From core concepts to advanced topics — build ASP.NET Core applications by understanding how it works under the hood.
From core concepts to advanced topics — build ASP.NET Core applications by understanding how it works under the hood.
ASP.NET Core is a modern, cross-platform framework for building web applications on the .NET platform.
This course will guide you through ASP.NET Core backend development from the ground up. You don’t need any prior experience with ASP.NET Core — just basic C# knowledge is enough to get started.
You'll learn through a mix of theory and hands-on coding. Before jumping into code, I’ll explain each concept with clear visual slides. We follow a problem-first approach: identify an issue, understand the “why,” explore the solution and then implement it in code.
Here's what you'll learn:
The building blocks of ASP.NET Core
Understand the core concepts behind an ASP.NET Core application — hosting, startup approaches, middleware pipeline, request handling and the role of the Generic Host.
Razor Views Basics & Rendering Engine
Build dynamic UI with Razor syntax and learn how views work under the hood. Understand model binding, layout structure and how the Razor View Engine renders views efficiently at server side.
Controller-based Web APIs using MVC Framework
Learn how to build APIs using the mature MVC Framework. Work with controllers, actions and filters to create structured endpoints.
Router-Based Web APIs using Minimal APIs
Explore the lightweight Minimal API approach. Define endpoints directly, use route groups, endpoint filters, and strongly-typed results to create clean and focused APIs.
Dependency Management & Inversion of Control
Dive into .NET’s built-in IoC container. Learn service lifetimes, service locator and dependency injection patterns, and how to design loosely-coupled applications using modern dependency management principles.
The principles behind, plus useful tips and good practices
Go beyond syntax — understand why we implement things that way. Learn industry practices, practical design tips, and avoid common mistakes.
You'll also get a quick introduction to the .NET CLI for those who prefer command-line tooling.
The course structure
This course is not just about writing code. It’s about thinking like a developer who understands ASP.NET Core from the inside out.
Imagine this: you’ve just joined a company and you’re handed a poorly structured ASP.NET Core Web API application. Your job? Clean it up, improve it and keep building on it — all while learning the framework's internals along the way. On the way, we will also have tasks from the stakeholders, like Product Managers.
That’s exactly how this course is structured.
We’ll treat this broken codebase as our playground — discovering problems, understanding the "why" behind them, and then fixing or improving them using modern ASP.NET Core practices. It's a mix of pair programming, guided walkthroughs, and visual slide explanations to help you really absorb how ASP.NET Core works under the hood.
Honest scope: We will cover only the ASP.NET part of the project. Therefore we won’t pretend the final app is “production-ready.” But you’ll walk away knowing how to get it there.
What makes this course different?
Concept-first approach: We go beyond just the “how” and focus on the “why” — helping you understand the reasoning behind each decision.
Theory + Practice: You’ll alternate between hands-on coding and clear, visual explanations that reinforce each concept.
Tackle complexity gradually: We’ll build your understanding layer by layer — starting from low-level middleware pipelines, then moving to higher-level MVC and Minimal APIs, and finally tackling side components like dependency injection.
Not just copy-paste tutorials: This isn’t a follow-along project. You’ll be encouraged to think critically, solve real problems, and truly understand what you’re building.
By the end of this course
You'll be able to build your own ASP.NET Core Web API applications — not just by following steps, but by understanding how everything works under the hood. Eventually, this will enable you maintain ASP.NET applications and troubleshoot issues effectively and make the right decisions when working with ASP.NET Core features.
FAQ area empty
What is ASP.NET?
780 Xem trướcMain project components
960 Xem trướcMore context: MSBuild [Optional]
Bootstrap approaches
310 Xem trướcClone our playground project: Turg
Xem trướcStructure of a typical ASP.NET Core App
979 Xem trướcGeneric Host - The concept
165 Xem trướcGeneric Host - The concept (in code)
1217 Xem trướcChallenge: Generic Host: BackgroundService
Xem trướcContinuing discovering our project
416 Xem trướcInstall the necessary tools
Setting up our project
373 Xem trướcHosting models & Kestrel
377 Xem trướcSummary
177 Xem trướcThe concept
953 Xem trướcThe concept (in code)
1407 Xem trướcMiddlewares - Anonymous-inline middlewares
730 Xem trướcUse() vs Run()
Middlewares - Convention-Based middleware classes
1295 Xem trướcMiddlewares - Factory-Based middleware classes
738 Xem trướcMiddlewares - Configuration injection
548 Xem trướcMiddlewares - Encapsulating pipeline registrations
1367 Xem trướcChallenge: Middlewares
HttpContext - Items
913 Xem trướcHttpContext - Strongly-Typed Items
1110 Xem trướcHttpContext - Features
1328 Xem trướcChunked Transfer Encoding
1243 Xem trướcMore context: Http specification [Optional]
Summary
360 Xem trướcThe concept
580 Xem trướcControllers
700 Xem trướcModels
592 Xem trướcViews
844 Xem trướcViews: Razor Syntax
888 Xem trướcViews: Model declaration
1093 Xem trướcViews: View Engines
517 Xem trướcViews: Razor View Engine at compile time
557 Xem trướcViews: Razor View Engine at runtime
453 Xem trướcViews: Layouts
1041 Xem trướcViews: ViewStart
222 Xem trướcActionResult types: Files
1258 Xem trướcActionResult types: Data
341 Xem trướcMVC Request Life Cycle
769 Xem trướcFilters: The concept
176 Xem trướcFilters: The concept (in code)
707 Xem trướcFilters: Global registration
502 Xem trướcFilters: Type-Based vs Service-Based registration
548 Xem trướcFilters: Controller-Level and Action-Level registration
619 Xem trướcFilters: Short-circuiting
983 Xem trướcFilters: Middleware Filters
435 Xem trướcUseMvc vs UseEndpoint
777 Xem trướcRazorPages vs RazorPage
344 Xem trướcAddMvc vs AddControllersWithViews
334 Xem trướcController vs ControllerBase
264 Xem trướcApiController attribute
688 Xem trướcAPI Versioning
1423 Xem trướcChores
443 Xem trướcSummary
1107 Xem trướcThe concept
565 Xem trướcWebApplication class
993 Xem trướcTop-Level Statements & Implicit Global Usings
781 Xem trướcEndpoints
872 Xem trướcEndpoints: MapGroup
328 Xem trướcEndpoints: Registering with Extension Methods
375 Xem trướcEndpoints: Discovering using Reflection
1423 Xem trướcEndpoints: Result types
1172 Xem trướcEndpoints: Strongly-Typed Results
556 Xem trướcRequest Life Cycle
288 Xem trướcEndpoint Filters
1309 Xem trướcIEndpointFilter
608 Xem trướcInput validation using DataAnnotation
1276 Xem trướcGeneric input validation
905 Xem trướcAPI Versioning
643 Xem trướcMisc. refactorings
1177 Xem trướcSummary
966 Xem trướcThe concept
1045 Xem trướcServices
2140 Xem trướcIoC Container
819 Xem trướcService Locator
606 Xem trướcDependency Injection
1219 Xem trướcChallenge: Configuration injection
Dependency Inversion
984 Xem trướcService Lifetimes: The concept
481 Xem trướcService Lifetimes: The concept (in code)
905 Xem trướcService Lifetimes: How to choose?
1473 Xem trướcImplicit service registration
680 Xem trướcSummary
421 Xem trướcBasic knowledge of .Net and C#
No prior ASP.NET experience needed.
.NET CLI Basics
ASP.NET Core Basics & Building Blocks
Request Processing (Middleware) Pipeline
Views Basics & Server-Side rendering
Controller-Based API development with MVC Framework
Router-Based API development with Minimal APIs
Dependency Management & Inversion of Control
Underlying industry principles & tips along the course