What is ASP.NET Core?
ASP.NET Core is a free, open-source, cross-platform web framework developed by Microsoft. It’s used to build modern, cloud-based, and internet-connected applications such as web apps, APIs, microservices, and real-time applications.
It's a re-engineered version of ASP.NET that runs on .NET Core, which is also cross-platform and modular. Starting from .NET 5, ASP.NET Core is simply part of the unified .NET platform.
ASP.NET Core – Key Characteristics
Feature | Description |
---|---|
Cross-platform | Runs on Windows, Linux, and macOS. |
Unified Framework | Combines MVC, Web API, Razor Pages, Blazor, and SignalR. |
High Performance | Optimized for speed and scalability (top-tier in benchmarks). |
Built-in DI | Supports dependency injection out of the box. |
Minimal APIs (since .NET 6) | Allows creating APIs with very little boilerplate code. |
Modular | You include only the features you need via NuGet. |
Cloud-ready | Built-in logging, configuration, environment support. |
Open Source | Actively developed with community on GitHub. |
ASP.NET Core Application Structure
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
// Sets up app
var app = builder.Build();
// Builds middleware pipeline
app.MapGet("/", () => "Hello World!");
app.Run();
// Starts the app
}
}
Starting with .NET 6, ASP.NET Core apps use minimal hosting and configuration, making them cleaner and easier to start.
ASP.NET Core Components
Component | Purpose |
---|---|
Middleware | Processes requests/responses via pipeline |
Routing | Maps incoming requests to handlers |
Razor Pages | Simplified web UI pattern |
MVC | Model-View-Controller pattern |
Blazor | Build interactive UIs with C# instead of JavaScript |
SignalR | Real-time communication (chat, notifications) |
EF Core | ORM for database access |
Minimal APIs | Super-lightweight HTTP services (since .NET 6) |
ASP.NET Core Versions & Evolution
Version | Released | Key Features |
---|---|---|
1.0 | 2016 | First cross-platform version, separate from classic ASP.NET |
2.0 | 2017 | Razor Pages, simplified project structure |
2.1 (LTS) | 2018 | SignalR Core, HTTPS enforcement |
2.2 | 2018 | Endpoint Routing, health checks |
3.0 | 2019 | Removed support for .NET Framework, introduced gRPC |
3.1 (LTS) | 2019 | Long-term support (until Dec 2022) |
5.0 | 2020 | Unified .NET platform (no more “Core” in name) |
6.0 (LTS) | 2021 | Minimal APIs, Hot Reload, simplified startup |
7.0 | 2022 | Rate limiting, output caching, better Blazor |
8.0 (LTS) | 2023 | Blazor Server & WASM unification, native AOT, performance boost |
9.0 | (Expected 2024) | Ongoing innovation, continued Blazor enhancement |
ℹ️ From .NET 5 onwards, the name “Core” is dropped. It’s just ASP.NET on .NET [version].
Real-World Use Cases
-
RESTful APIs (e.g., for mobile/web apps)
-
Dynamic server-rendered web apps
-
Blazor SPA apps using only C#
-
Real-time dashboards or chats
-
Microservices and containerized deployments
-
Serverless functions (with Azure Functions)