ASP.NET Core MVC Mastery

Conventional vs Attribute Routing

2 Views Updated 5/4/2026

Professional ASP.NET Core Routing architectures

Section 1: Conventional (MapControllerRoute)

Conventional routing is defined once and applies to all controllers. It is best for small to medium enterprise websites.


app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");
                        

Section 2: Attribute Routing (The API standard)

Attribute routing gives you 100% fine-grained control over your URLs. It is the gold standard for REST APIs.


[Route("api/v1/[controller]")]
public class OrdersController : ControllerBase {
    [HttpGet("{id:int}")]
    public IActionResult GetOrder(int id) { /* ... */ }
}
                        

Section 3: Custom Constraint Mastery

A senior architect doesn't just use {id:int}. They create custom constraints for business requirements (e.g., verifying a valid product code format).


public class ProductCodeConstraint : IRouteConstraint {
    public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) {
        var value = values[routeKey]?.ToString();
        return Regex.IsMatch(value, "^PC-[0-9]{5}$");
    }
}
                        

Architect Insight: Endpoint Routing & URL Rewriting

Endpoint routing was introduced in .NET Core 3.0 to allow routing to happen early in the pipeline. For a 12-year architect, understanding how to use RewriteOptions to handle 301 redirects across multiple domains is the difference between a successful migration and a SEO disaster.

ASP.NET Core MVC Mastery
1. Core Framework
Introduction to ASP.NET Core MVC
MODULE 1: INTRODUCTION & ENVIRONMENT SETUP
Microsoft Web Stack Overview Evolution of ASP.NET Environment Setup
2. View Engine
Layouts & Partial Views in Razor
MODULE 2: .NET CORE FUNDAMENTALS
Core Concepts Project Structure Startup Flow Middleware Pipeline
MODULE 3: ASP.NET CORE BASICS
Creating Project CLI Commands wwwroot & Static Files
MODULE 4: MVC FUNDAMENTALS
MVC Architecture Dependency Injection (DI) Service Lifetimes
MODULE 5: DATA PASSING TECHNIQUES
ViewData vs ViewBag TempData ViewModel Pattern
MODULE 6: ROUTING
Conventional vs Attribute Routing Custom Constraints
MODULE 7: VIEWS & UI
Razor View Engine Layouts & Sections View Components
MODULE 8: ACTION RESULTS
ViewResult JsonResult RedirectResult
MODULE 9: HTML HELPERS
Form Helpers Custom HTML Helpers
MODULE 10: TAG HELPERS
Built-in Tag Helpers Custom Tag Helpers
MODULE 11: MODEL BINDING
FromQuery vs FromRoute Complex Binding
MODULE 12: VALIDATION
Data Annotations Remote Validation Fluent Validation
MODULE 13: STATE MANAGEMENT
Cookies & Sessions TempData
MODULE 14: FILTERS & SECURITY
Action Filters Authorize Filters Anti-forgery
MODULE 15: ENTITY FRAMEWORK CORE (DEEP DIVE)
DbContext Migrations LINQ Relationships
MODULE 16: DESIGN PATTERNS
Repository Pattern Unit of Work Clean Architecture
MODULE 17: FILE HANDLING
File Upload/Download PDF/Excel Generation
MODULE 18: ADVANCED ASP.NET CORE
Request Lifecycle Bundling & Minification Deployment
MODULE 19: PERFORMANCE & BEST PRACTICES
Caching Strategies Async Programming Secure Coding
MODULE 20: RAZOR PAGES (BONUS)
Razor Pages vs MVC
MODULE 21: REAL-WORLD PROJECTS (🔥 MUST DO)
E-Commerce Web Application Employee Management System