ASP.NET Core Overview

ASP.NET Core is the new and totally re-written version of the ASP.NET web framework. It is a free, open-source, and cross-platform framework for building cloud-based applications, such as web apps, IoT apps, and mobile backends. It is designed to run on the cloud as well as on-premises.

Same as .NET Core, it was architected modular with minimum overhead, and then other more advanced features can be added as NuGet packages as per application requirement. This results in high performance, require less memory, less deployment size, and easy to maintain.

Why ASP.NET Core?

ASP.NET Core has the following advantages over traditional ASP.NET web framework:

  • Supports Multiple Platforms: ASP.NET Core applications can run on Windows, Linux, and Mac. So you don't need to build different apps for different platforms using different frameworks.
  • Fast: ASP.NET Core no longer depends on System.Web.dll for browser-server communication. ASP.NET Core allows us to include packages that we need for our application. This reduces the request pipeline and improves performance and scalability.
  • IoC Container: It includes the built-in IoC container for automatic dependency injection which makes it maintainable and testable.
  • Integration with Modern UI Frameworks: It allows you to use and manage modern UI frameworks such as AngularJS, ReactJS, Umber, Bootstrap, etc. using Bower (a package manager for the web).
  • Hosting: ASP.NET Core web application can be hosted on multiple platforms with any web server such as IIS, Apache etc. It is not dependent only on IIS as a standard .NET Framework.
  • Code Sharing: It allows you to build a class library that can be used with other .NET frameworks such as .NET Framework 4.x or Mono. Thus a single code base can be shared across frameworks.
  • Side-by-Side App Versioning: ASP.NET Core runs on .NET Core, which supports the simultaneous running of multiple versions of applications.
  • Smaller Deployment Footprint: ASP.NET Core application runs on .NET Core, which is smaller than the full .NET Framework. So, the application which uses only a part of .NET CoreFX will have a smaller deployment size. This reduces the deployment footprint.

Cross-platform ASP.NET Core

ASP.NET Core applications run on the Windows, Mac or Linux OS using the .NET Core framework (now known as .NET 5/6/7). ASP.NET Core web application can be deployed on these OS because ASP.NET Core web application are self-hosted using internal web server called Kestrel. The platform specific web server such as IIS is used as external webserver that sends requests to the internal webserver Kestreal.

Cross-platform ASP.NET Core Framework

The following image shows how the http requests will be handled for ASP.NET Core web applications.

ASP.NET Core Web Request Handling

ASP.NET Core Version History

Microsoft launched ASP.NET web framework along with .NET Framework 1.0 in 2002. It was designed to run on Windows platform.

In 2016, Microsoft launched ASP.NET Core framework which can run on Windows, Mac, and Linux using .NET Core framework. It had many advantages over traditional ASP.NET framework.

The next version of ASP.NET Core after version 3.1 was named as ASP.NET 5 which is unified framework for all types of application. So, ASP.NET 5 and later versions are ASP.NET Core framework only. They just named back to original name.

ASP.NET Core Versions

The .NET 5 includes core libraries of ASP.NET 5 framework so you don't need to install ASP.NET 5 separately than .NET 5.

Version Visual Studio Release Date End of Support
ASP.NET 7 - Latest Version Visual Studio 2022 v17.4 Nov 8, 2022 May 14, 2024
ASP.NET 6 (LTS) Visual Studio 2022 Nov 9, 2021 Nov 12, 2024
ASP.NET 5 Visual Studio 2019 Nov 10, 2020 May 10, 2022
ASP.NET Core 3.1 (LTS) Visual Studio 2019 Dec 3, 2019 Dec 13, 2022
ASP.NET Core 3.0 Visual Studio 2019 Sep 23, 2019 Mar 3, 2020
ASP.NET Core 2.1 (LTS) Visual Studio 2017, 2019 May 30, 2018 Aug 21, 2021
ASP.NET Core 2.0 Visual Studio 2017, 2019 Aug 14, 2017 Oct 1, 2018
ASP.NET Core 1.0 Visual Studio 2017 Jun 27, 2016 Jun 27, 2019

Let's download and install .NET Core/ASP.NET Core in the next chapter.