hostprofi.ru
Подобрать хостинг
Термин

.NET Core

краткое определение

.NET (ранее .NET Core) — открытый кроссплатформенный фреймворк Microsoft для веб-разработки. ASP.NET Core поддерживает MVC, Minimal API, gRPC и Blazor, работает на Linux/Windows/macOS.

.NET — открытый кроссплатформенный фреймворк Microsoft для разработки веб-приложений, API, микросервисов, консольных программ и настольных приложений. До версии 5.0 (2020) назывался .NET Core. Работает на Windows, Linux и macOS.

ASP.NET Core

ASP.NET Core — веб-фреймворк на базе .NET. Поддерживает несколько парадигм разработки:

  • Minimal API (.NET 6+) — минималистичные HTTP-эндпоинты без контроллеров.
  • MVC / Razor Pages — традиционная архитектура Model-View-Controller.
  • gRPC-сервисы — бинарный протокол на базе HTTP/2 для межсервисного взаимодействия.
  • Blazor — компонентный фреймворк: Server (рендер на сервере) или WebAssembly (в браузере).
  • SignalR — WebSocket и долгие HTTP-опросы для реалtime-приложений.

ASP.NET Core стабильно входит в топ-5 TechEmpower Framework Benchmarks по plaintext-запросам — выше Node.js Express и Django.

Версии .NET и LTS

ВерсияГодТипEOL
.NET Core 3.12019LTSДек 2022
.NET 62021LTSНоя 2024
.NET 82023LTSНоя 2026
.NET 92024STSМай 2026

История

.NET Framework выпущен Microsoft в 2002 году и работал только на Windows. .NET Core 1.0 — июнь 2016 года, открытый код на GitHub. .NET 5 (ноябрь 2020) объединил .NET Core и Mono в единую платформу. С .NET 5 версионирование: нечётные номера — STS (18 месяцев поддержки), чётные — LTS (3 года).

.NET в хостинге

На Linux ASP.NET Core использует встроенный HTTP-сервер Kestrel, перед которым ставят Nginx как reverse proxy для SSL-терминации и отдачи статики:

location / {
    proxy_pass http://localhost:5000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection keep-alive;
}

Docker-образы публикует Microsoft: mcr.microsoft.com/dotnet/aspnet:8.0 — runtime (~200 МБ), mcr.microsoft.com/dotnet/sdk:8.0 — для сборки (~800 МБ). Multi-stage build: сборка в SDK-образе, копирование результата в runtime-образ.

На что обращать внимание

Деплой systemd-сервиса на VPS: dotnet publish -c Release создаёт публикуемые файлы, systemd управляет жизненным циклом процесса — аналог PM2 для Node.js. Для Windows-специфичной функциональности (.NET Framework API) .NET Core не подходит — нужен .NET Framework или Windows-специфичный .NET. CI/CD pipeline: dotnet testdotnet publish → деплой.

Производительность и сравнение

ASP.NET Core последовательно входит в первую пятёрку TechEmpower Framework Benchmarks (plaintext, JSON serialization). В тестах 2023 года .NET 8 показывает 7 млн запросов/сек на стандартном железе — выше Node.js Express (~900 000 req/sec) и Django (~100 000 req/sec).

Контейнеризация .NET 8: образ mcr.microsoft.com/dotnet/aspnet:8.0-alpine — ~120 МБ (самый компактный из official). Multi-stage Docker-сборка уменьшает production-образ: только runtime, без SDK. Переменные окружения для конфигурации: ASPNETCORE_ENVIRONMENT=Production, ConnectionStrings__DefaultConnection. Health checks через /health endpoint — для Kubernetes readiness и liveness probes.

Другие термины