Introduction to ASP.NET MVC (Part three)

Hello internet,

Today we will wrap up our introduction by implementing its last section about ASP.NET MVC 5 and its features.


There were two main reasons behind ASP.NET MVC 5 release. The first one was Visual Studio 2013 launching, and the second was the “One ASP.NET” experience.

But wait a minute, what do we mean by One ASP.NET?

In the past, ASP.NET developers had to make a unique choice between working with MVC application, Web Forms application, or some other project types. However, one of the key rules I’ve learned from the software industry is that nothing lasts forever and let me tell you that today’s project will absolutely change in different ways tomorrow in order to follow future industry’s guidelines.

With MVC 5 One ASP.NET this constraint is broken. Now, you can start your project in MVC mode and as you develop your work, you have the ability to add support for other frameworks. This feature was mainly accessible through NuGet Package Manager, which I’ve already talked about in my previous post.

Apart from One ASP.NET, there were many other features included in MVC 5 such as:

ASP.NET Identity:

The new ASP.NET Identity system was improved in so many ways that helped developers perform their daily tasks more easily:

  • Following the same philosophy of One ASP.NET, Identity system was designed to work efficiently with cross frameworks (MVC, Web Forms, Web Pages, Web API, SignalR and hybrid applications).
  • Storing additional users information become as easy as adding properties to the model class representing the user.
  • Developers are no more tied to Entity Framework alone, as far as storing users information is concerned, since they have the ability to choose any other persistence mechanism they want such as other ORM’s, databases and costumed web services…
  • Being an Interface-designed system allowed developers to write unit tests for their user-related application code.
  • It supports claims-based authentication, which gives developers more power and flexibility.
  • Allowing users to log in through social providers like Facebook, Twitter, Google…

Bootstrap Templates:

Enhancing the look and feel of web pages was one of the main priorities of the team behind MVC and since Bootstrap framework was so popular at that time, they chose it and it was a complete success. The default design of MVC 5 looks so professional that one can be proud to deploy his work to production with it.

Attribute Routing:

It simply means putting annotations on top of your controller’s class or action methods to specify your routes.

Filter Overrides:

It allows developers to configure filters that apply globally but then exclude certain filters from applying to specific actions or controllers. In other words, they have the ability to exclude some controllers and action methods.

Authentication Filters:

Running prior to authorization filters, authentication filters allow you to set authentication logic either locally for every action/controller or globally for all controllers. They take credentials as input and provide corresponding principals.


In this latest release, only two improvements were observed. The first one concerned Attribute routing, in which they provided an extensibility point (IDirectRouteProvider), allowing full control in configuring and discovering attribute routes. The second enhancement was about MVC Facebook package, which was broken because of some API changes made by its constructor.

I hope that, by now, you have a broad image of what ASP.NET MVC is. Don’t worry if you didn’t understand some words and concepts in this introduction, we will have plenty of time to go through every important feature in more details in the future. Put your questions and comments bellow and I’ll be very pleased to answer.

That’s it for now. See you in my next post in which I’ll will walk you through ASP.NET MVC installation and first steps.

Goodbye internet!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Powered by

Up ↑

%d bloggers like this: