Introduction to ASPCore
Introduction to ASPCore
Nowadays, when it comes to software development, everyone is talking about Free, Open-Source,
and Cross-Platform Development. As we all know, Microsoft is well known for its Windows-based
products. Now, we are in the new age of software development. For this, Microsoft came into the
market with a revolutionary product called ASP.NET Core.
History of ASP.NET
ASP.NET is the framework used to develop Data-Driven Web Applications for many years. Since then,
the ASP.NET Framework has gone through a steady evolutionary change, and finally, the most decent
evolution is ASP.NET Core (you can also call it .NET).
The ASP.NET Core (.NET) is not a continuous part of the legacy ASP.NET Framework. Instead, it is
a completely new framework.
This Framework is an actual rewrite of the legacy ASP.NET Framework but with a much smaller
and a lot more modular.
Some people think many things remain the same, but that is not completely true. The ASP.NET
Core is actually a big fundamental change to the legacy ASP.NET Framework.
Cross-Platform:
The ASP.NET Core Framework is designed from scratch to be Cross-Platform for both development
and deployment. So, we don’t need to build different applications for different platforms using
different frameworks. Let us discuss what Cross-Platform is from the ASP.NET Core point of view by
comparing it with the earlier versions of the ASP.NET Framework.
The earlier versions of ASP.NET Framework applications can only run on Windows platforms. On the
other hand, the ASP.NET Core applications can be developed and run on different platforms such as
Windows, Mac, or Linux operating systems. We can host the earlier ASP.NET Framework applications
only on IIS, whereas we can host the ASP.NET Core applications on IIS, Nginx, Docker, Apache, etc.
Open Source:
The ASP.NET Core framework is open source, which is the main reason for its popularity. The entire
source code for ASP.NET Core Framework is available at https://github.com/dotnet/aspnetcore, and
you can download the source code. Even if you want, you can also modify and compile your own
version.
.NET is open source on GitHub and has over 100,000 contributions, including 3,700 companies. You
can also contribute or download the source code from the ASP.NET Core Repository on GitHub.
The ASP.NET Core team is always there to support your effort in developing the application. It
receives bug fixing and improvement updates on a regular basis, usually within a short time period.
You don’t have to wait longer for updates.
1
High Performance:
ASP.NET Core is optimized for high performance. Its modular components and the ability to include
only the necessary dependencies make it highly optimized for speed and scalability. Benchmarks
demonstrate that applications developed with ASP.NET Core are significantly faster than those built
with previous versions of ASP.NET.
Cloud-Ready:
ASP.NET Core is designed to be cloud-ready, with features and configurations that facilitate
deployment and scaling in cloud environments like Azure.
Razor Pages:
Razor Pages is a new feature in ASP.NET Core that makes it easier to build page-focused web
applications. It is built on top of the existing ASP.NET Core MVC framework.
Tag Helpers:
Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor
files, enhancing the productivity of developers working on the view layer.
Middleware:
ASP.NET Core uses middleware to handle requests and responses. Middleware components can be
composed in a pipeline to process requests and responses, providing great flexibility and control over
the application’s behavior.
Side-by-Side Versioning:
ASP.NET Core supports running multiple versions of the framework side-by-side on the same
machine, which allows for seamless upgrades and backward compatibility.
CLI Support:
Using CLI (Command Line Interface) commands, you can develop, build, and publish .NET applications.
We can develop, build, and run .NET Core Applications using CLI.
Testing:
Applications developed using the ASP.NET Core framework can easily be tested and maintained. This
is possible because it allows you to separate different parts of your application into different
independent pieces and test them independently. Testing frameworks such as MSTtest, xUnit, and
MOQ can be easily integrated into ASP.NET Core applications to simulate any test scenario.
2
Robust Security Features:
ASP.NET Core provides features to manage authentication, authorization, data protection, SSL
enforcement, app secrets, CSRF protection(Cross-site request forgery : is a type of cyber attack that
tricks a user into performing an action that changes the state of a website or web application using
their credentials. This action could be transferring funds, changing an email address, or making a
purchase. CSRF attacks can also be called one-click attacks or session riding.), and more, which are
essential for securing web applications and web services.
ASP.NET Core also comes with a lot of preloaded tools. Anybody would love to work with these tools
due to their simplicity and ease. Using Libmam (Libmam allows the installation of Bootstrap and
jQuery easily), ReSharper (ReSharper provides on-the-fly code analysis and eliminates errors in C#,
VB.NET, XAML, ASP.NET, and XML), etc.
A new major release of .NET Core is published every year in the month of November. Even-numbered
releases are LTS releases with free support and patches for three years, and odd-numbered releases
are STS releases with free support and patches for 18 months. For a better understanding of the .NET
Core version
Here,
Long-Term Support (LTS) Releases: These versions are supported for three years after their initial
release. LTS releases are focused on stability and are intended for long-term usage in production
environments.
Short-Term Support (STS) Releases: These are supported for 18 months from the release date. They
are also suitable for production but do not have the extended support period that LTS versions offer.
3
Customers can choose Long Term Support (LTS) releases or Standard Term Support (STS) releases. The
quality of all releases is the same. The only difference is the length of support. LTS releases get free
support and patches for 3 years. STS releases get free support and patches for 18 months.
Key Features:
Cross-Platform: For the first time, .NET applications run on Windows, macOS, and Linux.
Modular Framework: Applications could include only the necessary libraries, reducing overhead.
ASP.NET Core: A new, unified web framework for building modern web applications.
Command-line tools: Provided robust command-line tools (CLI) for all supported platforms, which
facilitated various development tasks outside of Visual Studio.
Entity Framework Core: A lightweight, extensible, cross-platform version of Entity Framework for data
access.
Support Status: End of support
Key Features:
Performance Improvements: Enhanced runtime performance and efficiency.
Additional APIs: Expanded the set of APIs available to developers.
Tooling Improvements: Better tools for development, including command-line tools.
Support Status: End of support
Key Features:
ASP.NET Core Razor Pages: Simplified the creation of page-centric web applications.
Enhanced Compatibility: Improved compatibility with existing .NET Framework libraries.
Support Status: End of support
Key Features:
Long-Term Support (LTS): First LTS version, ensuring long-term stability and support.
SignalR: Real-time web functionality for adding real-time features to web apps.
HTTP Client Performance: Major improvements in HTTP client performance.
Support Status: End of support on August 21, 2021
Key Features:
Diagnostic Improvements: Enhanced diagnostic tools for monitoring and troubleshooting.
Health Checks: Built-in health checks for ASP.NET Core apps.
Azure SignalR Service: Enhanced integration with Azure services.
Support Status: End of support on December 23, 2019
4
.NET Core 3.0
Release Date: September 23, 2019
Key Features:
Windows Desktop Support: Added support for Windows Forms and WPF, enabling desktop
application development.
C# 8.0 Support: New language features like nullable reference types and async streams.
Blazor: Introduced Blazor, enabling C# to run in the browser using WebAssembly.
.NET Core CLI Improvements: Enhanced command-line interface for better development experience.
Support Status: End of support on March 3, 2020
Key Features:
Long-Term Support (LTS): Ensured stability and long-term support.
Razor Components: Enhanced Razor Components for building interactive web UIs.
Performance Enhancements: Continued improvements in performance and reliability.
Support Status: Supported until December 2022
.NET 5.0
Release Date: November 10, 2020
Key Features:
Unified Platform: Unified the .NET ecosystem, combining .NET Core and .NET Framework.
Performance Improvements: Continued focus on high performance and scalability.
C# 9.0 Support: Introduced new language features like records and improved pattern matching.
Support Status: Supported until May 2022
Key Features:
Long-Term Support (LTS): Guaranteed support and stability for long-term projects.
.NET MAUI: Introduced .NET Multi-platform App UI for building cross-platform applications.
Minimal APIs: Simplified API creation with a more concise syntax.
Hot Reload: Allowed live code updates without restarting the application.
Support Status: Supported until November 2024
.NET 7.0
Release Date: November 8, 2022
Key Features:
Enhanced .NET MAUI: Improved tools for building cross-platform applications.
Performance Enhancements: Further optimizations in runtime performance.
Updated Language Features: Support for C# 10 and F# 6 with new enhancements.
Containerization: Better support for building and deploying containerized applications.
Support Status: Supported until May 2024
Key Features:
Continued Performance Improvements: Ongoing enhancements in runtime and API performance.
New Language Features: C# 11 with new features to improve developer productivity.
Cloud-Native Enhancements: Improved support for developing and deploying cloud-native
applications.
5
.NET MAUI and Blazor Enhancements: Continued improvements to these frameworks for building
modern web and mobile applications.
Support Status: Supported until November 2026
6
ASP.NET Core:
1. ASP.NET Core is an Open-Source, Cross-Platform Framework using which we can develop different
types of Web Applications, such as MVC, Web API, Razor Pages, etc.
2. If you want to develop and run .NET Core Applications, you need to install the .NET Core SDK,
including the .NET Runtime. If you only want to run .NET Core Applications, you need only install
the .NET Core Runtime.
3. ASP.NET Core 8 is the latest stable version.
Note: There is no separate versioning for ASP.NET Core; it is the same as the other .NET Core versions.