The architecture of web and desktop applications is different, asp.net web application is hosted in IIS with an application name, and it is mapped to some domain name, when a user writes in browser, for example, www.foo.com, request comes after passing from dns server lookup to the server where the web application is hosted, if it is the first request of the application IIS worker process will be responsible for instantiating the application in the IIS app pool to the pool which is assigned to the application, after that when all the events for application starting are done request will be routed to the correct code block according to what is the url coming. this is when application is not yet started and this is first request, after that web application keeps running the IIS app pool, multiple requests may come and will be executed by threads in the app pool, if someone restarts the IIS then the application is stopped automatically, and it will do the same stuff when the first request will come after the restart. Hope it helps.
For more details, you can read following links: http://stackoverflow.com/questions/5156066/what-is-the-main-point-to-enter-in-asp-net https://msdn.microsoft.com/en-us/library/ms178472.aspx