In 2016, the company replaced ASP.Net with ASP.Net Core 1.0. In addition to being open source, ASP.Net Core also supported three distinct platforms – Windows, Linux, and macOS. Also, the developers can use ASP.Net Core to build mobile back-ends and Internet of Things (IoT) apps, in addition to websites, web applications and web services. In 2017, Microsoft released ASP.Net Core 2.0 with several new features and enhancements.
Unlike its predecessor, ASP.Net Core 2.0 supports Windows, Linux, and macOS without any relying on individual runtimes. Additionally, it enables developers to take advantage of several application programming interfaces (APIs) included in .NET Core 2.0. The latest version of ASP.Net Core further introduces a new coding paradigm – Razor Pages. Microsoft even complements ASP.Net Core 2.0 with Entity Framework Core 2.0 and updated Visual Studio 2017. Hence, it becomes essential for web developers to understand some of the new and improved features included in ASP.Net Core 2.0.
Overview of New and Improved Features in ASP.Net Core 2.0
ASP.Net Core 2.0 simplifies web application development by providing a new coding paradigm – Razor Pages. Razor Pages implements a page-first structure and allows programmers to write razor syntax based pages. The asp .net developers can take advantage of the PageModel object to create razor views without controller. They can even use PageModel to execute methods and bind properties to the page content during the rendering process. The developers can use Razor Pages as a lightweight alternative to MVC. But they must remember that Razor Pages, unlike MVC, contains all code for a page in a single file. Also, it lacks some of the robust features provided by MVC. Interested readers can read more on what is MVC architecture and how they can benefit from the same.
Entity Framework Core 2.0
While using ASP.Net Core, the developers can take advantage of Entity Framework Core 2.0. The updated version of the popular ORM system for .Net helps developers to boost the performance of ASP.Net Core applications. Entity Framework Core 2.0 comes with several new features – compiled queries, flexible object mapping, scalar function mapping and string manipulation. At the same time, the developers have option to register the EF Core DbContext type directly into the dependency injection system of ASP.Net Core applications. Hence, they can easily improve the performance of ASP.Net Core applications by creating a pool of reusable DbContext instances.
Azure Application Insight
The developers can run ASP.Net Core 2.0 applications seamlessly on Azure App Service without making any changes to the code. Also, they can take advantage of the Azure Application Insight to monitor the performance of the ASP.Net Core application consistently based on varied performance metrics. A developer can further collect data about the ASP.Net Core application by adding Application Insight to the project through Visual Studio. He can even take advantage of the feature to detect errors in the application and track failed requests while developing the ASP.Net Core application.
Support for C# 7.1 Features
ASP.Net Core 2.0 runs on top an updated version of Razor engine. The updated version of Razor engine is fully compatible with Roslyn compiler which supports the new features provided by C# 7.1. Hence, the developers can avail a number of new language features provided by C# 7.x while writing ASP.Net Core applications. They can further avail these new features simply by changing the LangVersion property in the project files. Hence, the ASP.Net Core developers can now take advantage of new C# features like inferred tuple names, pattern matching with generics and default expressions.
Simplified Application Configuration
ASP.Net Core 1.0 allowed developers to deploy applications in a number of ways. It even made it easier for developers to deploy applications in the cloud by providing a cloud-ready configuration. ASP.Net Core 2.0 comes with a new template that simplifies host configuration. The WebHost.CreateDefaultBuilder included in core ASP.Net templates has the capability to run the application on IIS server by allocating a Kestrel server automatically. The feature even reduces chances of unintentional breaking of standard configuration.
Microsoft plans to release ASP.Net Core 2.1 in 2018 alongside .NET Core 2.1. Hence, web developers will soon get a chance to evaluate and review the beta preview edition of ASP.Net Core 2.1. Microsoft has further made it easier for developers to switch from version 1.x to version 2.0 of ASP.Net Core by providing an elaborate migration guide. The developers can switch existing applications in two distinct ways – installing .Net Core 2.0 fully and changing target framework to .Net Core 2.0.