Good News! Microsoft has been released ASP.NET MVC 6 on 12 May 2014 at TechEd North America, as part of ASP.NET vNext, the MVC, Web API, and Web Pages frameworks will be merged into one framework. Microsoft feels that System.Web needs to be removed because it is actually quite expensive. A typical HttpContext object graph can consume 30.000 of memory per request. When working with small JSON-style requests this represents a disproportionately high cost. With ASP.NET MVC 6 new design, the pre-request overhead drops to roughly 2000.

The new ASP.NET MVC 6 assumes you are familiar with either MVC 5 or Web API 2. If not, here is some terminology that is used in ASP.NET MVC. The new framework removes a lot of overlap between the existing MVC and Web API frameworks. It uses a common set of abstractions for routing, action selection, filters, model binding, and so on. You can use the framework to create both UI (HTML) and web APIs.

Features of ASP.NET vNext & ASP.NET MVC 6

  • A controller handles HTTP requests and executes application logic.
  • Actions are methods on a controller that get invoked to handle HTTP requests. The return value from an action is used to construct the HTTP response.
  • Razor syntax is a simple programming syntax for embedding server-based code in a web page.
  • Routing is the mechanism that selects which action to invoke for a particular HTTP request, usually based on the URL path and the HTTP verb.
  • A view is a component that renders HTML. Controllers can use views when the HTTP response contains HTML.
  • ASP.NET vNext includes new cloud-optimized versions of MVC, Web API, Web Pages, SignalR, and Entity Framework.
  • The welcome page is not too interesting, so lets’s enable the app to serve static files.
  • Mono is a Supported Platform. In the past the support story for Mono was essentially “we hope it runs, but if it doesn’t then you need to talk to Xamarin”. Now Microsoft is billing Mono as the official cross-platform CLR for ASP.NET vNext.
  • ASP.NET vNext support true side-by-side deployment. If your application is using cloud-optimized subset of ASP.NET vNext, you can deploy all of your dependencies including the .NET vNext (cloud optimized) by uploading bin to hosting environment.
  • Cross Platform Development. Not only is Microsoft planning for cross-platform deployment, they are also enabling cross-platform development.