Веб-разработка

Учебник ASP.NET Core для начинающих

23 урока · 6 разделов · бесплатно, без регистрации

Полный премиум-курс по ASP.NET Core — современному кроссплатформенному фреймворку для бэкенда на C#. Вы пройдёте путь от установки .NET SDK и первого эндпоинта на Minimal API до production-ready Web API: контроллеры и маршрутизация, REST-дизайн, валидация и DTO, работа с базой через EF Core (миграции, LINQ, Include, AsNoTracking), внедрение зависимостей и времена жизни сервисов, конвейер middleware, JWT-аутентификация, авторизация по ролям и политикам, обработка ошибок и health checks.

Каждый урок содержит подробный разбор «под капотом», ASCII-диаграммы ключевых механизмов (конвейер запроса, DI-контейнер, времена жизни, путь к БД) и запускаемые врезки, моделирующие логику ASP.NET Core, чтобы понять идеи, а не заучить синтаксис. Актуально для .NET 8 (LTS) и .NET 9.

Курс «ASP.NET Core: бэкенд на C#» состоит из 6 разделов и 23 уроков: Введение и платформа .NET, Контроллеры и маршрутизация, Web API: проектирование и данные, EF Core: работа с базой данных, DI, сервисы и конвейер и Аутентификация и практика прода. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Введение и платформа .NET

    1. Что такое ASP.NET Core

      ASP.NET Core: кроссплатформенный фреймворк для бэкенда на C#, его преимущества и место в индустрии.

    2. Установка SDK и первый проект

      Установка .NET SDK, команда dotnet, разница между SDK и runtime, создание проекта через CLI.

    3. Структура проекта

      Program.cs, .csproj, appsettings.json: разбор файлов проекта ASP.NET Core и слоёв конфигурации.

    4. Первый эндпоинт на Minimal API

      Minimal API в ASP.NET Core: создание эндпоинтов без контроллеров, model binding, сериализация в JSON.

  2. 2 Контроллеры и маршрутизация

    1. Контроллеры: структура и подключение

      Что такое контроллер в ASP.NET Core, атрибуты ApiController и Route, регистрация через AddControllers.

    2. Маршрутизация и шаблоны URL

      Атрибутная маршрутизация, параметры маршрута, ограничения типов и сопоставление URL с action-методом.

    3. HTTP-коды и результаты действий

      IActionResult, статус-коды 200/201/204/400/404, хелперы Ok/NotFound/Created и стандарт ProblemDetails.

  3. 3 Web API: проектирование и данные

    1. REST и проектирование API

      Принципы REST: ресурсы, HTTP-глаголы, предсказуемые URL, идемпотентность и версионирование API.

    2. Model binding и DTO

      Как ASP.NET Core собирает объект из тела, маршрута и query, зачем нужны DTO и защита от overposting.

    3. Валидация данных

      Data annotations, ModelState, автоматический возврат 400 с [ApiController] и где валидировать бизнес-правила.

    4. Документация API: OpenAPI/Swagger

      Генерация OpenAPI-документа, Swagger UI, ProducesResponseType и автогенерация клиентов из спецификации.

  4. 4 EF Core: работа с базой данных

    1. EF Core: сущности и DbContext

      Что такое ORM, сущности как таблицы, DbContext и DbSet, регистрация и change tracker.

    2. Миграции

      Версионирование схемы БД: dotnet ef migrations add, database update, Up/Down и история миграций.

    3. CRUD и LINQ-запросы

      Create/Read/Update/Delete через EF Core, LINQ-фильтрация, отложенное выполнение и async-методы.

    4. Связи, Include и производительность

      Навигационные свойства, Include против N+1, AsNoTracking для read-only и осознанная загрузка связей.

  5. 5 DI, сервисы и конвейер

    1. Внедрение зависимостей (DI)

      Принцип DI, конструкторное внедрение, регистрация интерфейс-реализация и инверсия контроля.

    2. Времена жизни сервисов

      Singleton, Scoped, Transient: чем отличаются, scope на запрос и ловушка captive dependency.

    3. Конфигурация и логирование

      IConfiguration, типизированный IOptions, структурированное логирование через ILogger и слои настроек.

    4. Конвейер middleware

      Устройство конвейера, порядок middleware, next и обратный путь ответа, short-circuit и кастомные middleware.

  6. 6 Аутентификация и практика прода

    1. Аутентификация vs авторизация

      Разница между аутентификацией и авторизацией, claims, ClaimsPrincipal и коды 401 против 403.

    2. JWT-токены

      Структура JWT (header/payload/signature), подпись секретом, stateless-проверка и настройка JwtBearer.

    3. Защита эндпоинтов: роли и политики

      Атрибут [Authorize], роли, AllowAnonymous, политики авторизации и принцип по умолчанию закрыто.

    4. Обработка ошибок и health checks

      Централизованная обработка исключений, сокрытие стектрейсов, ProblemDetails и health checks для прода.