I am studying a project developed by some guys in Visual Studio which cooperates with Umbraco. At first, I thought that this is a .NET MVC application on top of which Umbraco sits. However, after a more thorough look I can say it has nothing to do with a .NET MVC application. There are no controllers, there is neither program.cs nor startup.cs in the solution. Instead, there are umbraco files inside umbraco and umbraco_client folders.
Of course, everything works fine. But how? When for example we write: localhost:50174/go/apply it can find the correct Umbraco content node. Who is responsible for the routing since there is no MVC routing?