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.
The following image shows how the http requests will be handled for ASP.NET Core web applications.
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.
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.