ASP.NET Core MVC Interview Question #100
What are best practices for MVC routing, Areas, filters, and application structure?
Advanced Routing, Filters, Areas & Application Structure Mid-Level Intermediate
Quick Interview Answer
Keep public routes predictable and unambiguous, use constraints when they improve endpoint selection, and generate URLs through routing rather than hard-coding paths. Use Areas to organize genuinely large functional sections, but apply explicit authorization because an area is not a security boundary.
Detailed Explanation
Keep public routes predictable and unambiguous, use constraints when they improve endpoint selection, and generate URLs through routing rather than hard-coding paths. Use Areas to organize genuinely large functional sections, but apply explicit authorization because an area is not a security boundary.
Use filters only for cross-cutting behavior that belongs to the MVC execution pipeline. Prefer built-in authorization policies for access control and exception-handling middleware for broad error handling. Keep controllers small, move business logic into application services, use feature-oriented organization where helpful, and avoid hiding important business behavior inside routing conventions or filters.
Code Example
[Area("Admin")]
[Authorize(Policy = "AdminAccess")]
public class DashboardController : Controller
{
[HttpGet]
public IActionResult Index()
{
return View();
}
}