ASP.NET MVC Basics: Part 3


In this article we will see how the ASP.Net MVC application executes. In the previous article1 and article2 we saw what MVC is. How is it different from ASP.Net? What is ASP.Net MVC? In this article we will see how the ASP.Net MVC application execution is going on.

From the last two articles you have some basic idea about what MVC is, and differences between MVC and ASP.Net. This article will demonstrate the steps involved in the ASP.Net MVC application execution process. In part 2 we saw that the request is first arriving at the controller, then the model will be prepared and finally the view is given as a response to the user but the actual flow is something different. So take a look at the following diagram to see the basic steps involved in ASP.Net MVC application execution.


From the given diagram it is clear to you how the ASP.Net MVC application execution occurs. In the above diagram you see that first when the request comes from the user it's going to the global.asax file as all we know. When our application begins execution it first invokes the Application_Start event in the Global.asax file. In this Application_Start Event, only the routing table will perform the activity of mapping the user requested url with the application. After performing the routing, finally the request goes to the controller. We will explore more about the ASP.Net MVC routing in the next article. So I'm leaving it here to describe the ASP.Net MVC routing.

When the request arrives at the controller, it's defined by routing only; e.g. in our application there are many controllers so routing will map exact controller and the exact method of controller to be executed. Details about the controller you can find in my first article. This controller only will prepare the model and return the view to the user as a response.

Model is nothing but preparation of data e.g. populating data from database or some business logic or some data access. About model my first article will describe very well. Controller can return view without model or with model also. Controller is the thing in ASP.Net MVC which can perform so many actions like which model to prepare? What exactly user wants? And which view should be return to user? All is defined in controller only.

Finally the view i.e. user interface or designed screen for the user as a response is sent back to the user. About the view you can read more in my first article.


In this way the ASP.Net MVC application execution occurs. In my next article we will see what ASP.Net MVC routing is. So keep reading.