Search code examples
asp.net-mvcproject-structure

How to customize directory structure in ASP.NET MVC?


The project I'm starting to work at will have several dozens of controllers, so it would be nice to structure them into logical directories and respective namespaces, like "Controllers/Admin/", "Controllers/Warehouse/Supplies/", etc.

Does ASP.NET MVC support nested controller directories and namespacing? How do I manage routes to those controllers?


Solution

  • You can put the controllers anywhere; routes do not depend on where a controller is stored. It will be able to find any class that implements IController within your application.

    I usually keep my controllers in a separate project, f.ex a MyProject.Frontend project, alongisde a MyProject.Frontend.Application project which is the actual entrypoint web project with the views etc.