Introduction to ASP.NET 5, MVC 6

ASP.NET 5 
Open source web framework. Can develop and run on windows, Linux and the Mac.
It includes the MVC6 framework. Which now combines the features of MVC and Web API into a single web programming framework.
Build on .NET Core runtime, but it can also be run on the full .NET Framework for maximum compatibility.
Key Features : Leaner, modular , cross-platform and cloud optimized.
Make the core web framework more leaner i.e. no longer require System.Web.dll.
More Modular i.e. almost all features are now implemented as NuGet modules allowing to have just what you need.
Built in support for dependency injection.
Run on two runtime environment.
.NET Core: Can deploy the .Net core with app means your app will run with this deployed version rather than the version of the runtime that is deployed on the host operating system.
.NET Framework:
MV6:
Unified programming model.
MVC , Web API and Web Pages
Remove duplication and inconsistency.
New tag helper features: extending semantics of tags in markup.
Visual Studio 2015:
Dynamic compilation:
Edit , Save and then refresh the browser. Changes will automatically appear.
Similar experience like with a interpreted language without sacrificing the benefits of a compiled language.
Can also use other code editors to work on ASP.NET 5 projects.
Built-in support for popular open source tools Bower(package manager for client side libraries), Grunt and Gulp( task runner to automate workflow like compiling LESS, CoffeScript or TypeScript files, running JSLint, or minifying JavaScript files).
To add a JavaScript Library to project. Add it directly in the bower.json.
Cloud Ready Configuration:
Eliminate the web.config

In the startup.cs can add or remove sources for configuration values.

Dependency Injection (DI):
Earlier DI is supported in ASP.Net framework MVC, Web API and SignalR but not in consistent and
holistic way.
Built in DI abstraction that is available in entire Web stack.
Services can be accessed at any layer startup.cs, filters, Controller, In model binding.
Include a minimal DI container to bootstrap the system.But can be replaced based on our choice(Autofac, Ninjet etc..)
To access a service from all layer.
** Register a service as transient service in ConfigurationServices method of startup.csclass.
Then in Home controller we can use the service through constructor injection.
MVC6 can use the [Activate] attribute to inject services via properties. Can use[Activate]
Not just on controller but also on filters, and view components.
public class HomeController : Controller
{
    [Activate]
    public TimeService TimeService { get; set; }
    // Code removed for brevity
}
MVC6 also support DI into Razor view via the @inject keyword.

Fast HTTP performance:
Introduced a new HTTP request pipeline that is modular so we can add
Only the components that we need.
No longer depend dependent on System.Web.
Open Sourced:
 Open source project on GitHub.
Doc and tutorials:

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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