App_Start
is not special ( App_Start Folder in ASP 4.5 only in WebApplications Projects? ), and in fact the classes contained within have methods that are called directly from Global.Application_Start
- the reason they're there is to split things up to make it more maintainable. It makes more sense to have URI routing and resource bundling logic in their own files instead of all crammed into Global.asax.cs
.
Feel free to move the files around elsewhere in your project's filesystem if it makes more sense to you - the default arrangement is just a convention, like how client-side files are stored under /Content
.
Despite the underscore in the name, App_Startup
has no "magic" behaviour that we see in App_Code
, App_Themes
or App_Browsers
(those folders were defined as part of the ill-fated "ASP.NET 2.0 Websites" project system in Visual Studio 2005 (when Microsoft wanted to move developers away from ahead-of-time compiled website projects into something more closely resembling PHP projects in order to reduce the learning-curve, but it instead added more complexity and special-cases).