Документация и практика ASP.NET (Microsoft Learn)
В энциклопедии ASP.NET разобран как платформа (обзор, справочник-шпаргалка, первая программа). Microsoft Learn даёт актуальные учебники и хаб документации на русском — их проходят после базовых глав по C# и HTTP, иначе теряется связь между Program.cs, маршрутизацией и MVC.
Тексты статей Learn сюда не копируются — только структура, ссылки и привязка к разделам проекта.
С чего начать
| Шаг | Где в энциклопедии | Официальный источник |
|---|---|---|
| 1 | Практика C# на Learn | Get started C# |
| 2 | Первая программа ASP.NET Core | Приложение за 5 минут |
| 3 | ASP.NET — фреймворк | Хаб документации ASP.NET Core |
| 4a | Эта глава → Razor Pages (рекомендуется новичкам) | Серия Razor Pages |
| 4b | Эта глава → серия MVC | Начало работы с MVC |
| 5 | Сборка и публикация | Размещение и Docker (Core) |
Интерактивный каталог: Microsoft Learn — навигатор · Подборка документации.
Хаб документации ASP.NET Core 10
Документация по ASP.NET — входная точка для .NET 10: обзор, учебники, справочник API и разделы по типам приложений.
Быстрый старт
| Тема | Ссылка |
|---|---|
| Приложение за 5 минут | get-started |
| Обзор платформы | introduction-to-aspnet-core |
| Первый Web API | min-web-api |
| SignalR | signalr tutorial |
Модели веб-приложений (выбор UI)
| Подход | Когда выбирать | Старт на Learn |
|---|---|---|
| Minimal API | Тонкий HTTP-слой, микросервисы | minimal web API |
| Web API + контроллеры | REST с атрибутами, Swagger | контроллеры |
| Razor Pages | Страничный UI, CRUD; проще старт, чем MVC | серия Razor Pages |
| MVC | Классическое разделение Model–View–Controller | start-mvc |
| Blazor | SPA на C# (Server / WebAssembly) | blazor |
Сравнение Razor Pages, MVC и Blazor: choose-web-ui.
Данные, безопасность, развёртывание
| Раздел хаба | Ссылка | Связь с энциклопедией |
|---|---|---|
| EF Core + Razor Pages | ef-rp intro | 451, серия ниже |
| EF Core + MVC | ef-mvc intro | 451, 453 |
| Безопасность | security | 43 — безопасность C# |
| Kestrel / IIS | servers overview | 451 — хостинг |
| Docker (ASP.NET Core) | host-and-deploy/docker | 8.04 DevOps |
| Справочник API | .NET API browser | 452 — справочник |
Схема обучения с модулями и баллами: Создание веб-приложений ASP.NET Core (см. навигатор Learn).
Серия Razor Pages — RazorPagesMovie
Создание веб-приложения Razor Pages — оглавление серии на .NET 10. Microsoft рекомендует этот путь новичкам в ASP.NET Core (вместо MVC с контроллерами). Архитектура и понятия: Razor Pages в ASP.NET Core.
Что даёт серия
К концу — то же предметное приложение, что и в MVC-серии: каталог фильмов с отображением, редактированием и EF Core. Отличие модели: логика привязана к странице (PageModel), а не к контроллеру + представлению.
Первый проект: RazorPagesMovie, .NET 10, без top-level statements (как в учебнике). Шаблон Visual Studio: ASP.NET Core Web App (Razor Pages).
Порядок частей серии
| № | Тема | URL (view=aspnetcore-10.0) |
|---|---|---|
| — | Оглавление серии | razor-pages |
| 1 | Создание приложения | razor-pages-start |
| 2 | Модель | model |
| 3 | Scaffolding страниц | page |
| 4 | База данных | sql |
| 5 | Обновление связанных данных | da1 |
| 6 | Поиск | search |
| 7 | Новое поле | new-field |
| 8 | Валидация | validation |
После части 1 закрепите в справочнике разделы про Razor Pages, PageModel и Tag Helpers.
MVC или Razor Pages? Одну серию для старта — не обе сразу. Сравнение: choose-web-ui. Если уже знакомы с контроллерами — переходите к серии MvcMovie ниже.
Серия MVC — приложение MvcMovie
Начните работу с ASP.NET Core MVC — первый шаг серии: проект MvcMovie, .NET 10, шаблон MVC без top-level statements (удобно при копировании кода из статей).
Что даёт серия
К концу цикла — приложение каталога фильмов с CRUD, EF Core, поиском и валидацией. Навыки:
- создать и запустить MVC-проект (CTRL+F5, HTTPS dev-сертификат);
- добавить модель и scaffolding;
- подключить БД (SQL Server Express / SQLite в следующих частях);
- поиск и проверка данных.
Порядок частей серии
| № | Тема | URL (view=aspnetcore-10.0) |
|---|---|---|
| 1 | Создание приложения | start-mvc |
| 2 | Controller и Views | adding-controller |
| 3 | Представления | adding-view |
| 4 | Модель | adding-model |
| 5 | База данных | working-with-sql |
| 6 | Controller methods | controller-methods-views |
| 7 | Поиск | search |
| 8 | Валидация | validation |
Требования: Visual Studio 2022 с рабочей нагрузкой «ASP.NET и веб-разработка» или VS Code + .NET SDK. Имя проекта MvcMovie и регистр namespace должны совпадать с примерами в статьях.
После части 1 в энциклопедии закрепите маршрутизацию и контроллеры (разделы про MVC и routing).
Docker — legacy ASP.NET MVC (.NET Framework)
Перенос приложений ASP.NET MVC в контейнеры Windows — отдельный сценарий для ASP.NET MVC на .NET Framework (IIS внутри образа Windows), не для ASP.NET Core на Linux.
| Аспект | ASP.NET Core в Docker | Legacy MVC в Docker (статья) |
|---|---|---|
| Стек | Kestrel / multi-stage Linux | mcr.microsoft.com/dotnet/framework/aspnet:4.8 |
| Публикация | dotnet publish | Профиль Visual Studio → bin\Release\PublishOutput |
| Точка входа | ENTRYPOINT в Dockerfile | IIS в базовом образе |
| Хост ОС | Linux / Windows | Контейнеры Windows (Docker Desktop → Switch to Windows containers) |
Шаги из учебника (кратко)
- Publish — пользовательский профиль, целевая папка
bin\Release\PublishOutput, включить предкомпиляцию представлений при публикации. - Dockerfile — базовый образ Framework,
COPY ./bin/Release/PublishOutput/ /inetpub/wwwroot. - Сборка:
docker build -t mvcrandomanswers . - Запуск:
docker run -d --name randomanswers mvcrandomanswers(порт 80 в образе по умолчанию). - Проверка:
http://localhostв браузере; остановка:docker stop randomanswers, удаление:docker rm randomanswers.
Для новых проектов используйте Docker с ASP.NET Core и главу 453. Статья про Framework MVC нужна при сопровождении корпоративных монолитов на IIS.
Типичные ошибки
- Путать хаб Core и статью про Framework MVC — разные runtime, образы и Dockerfile.
- Пропустить 451 и сразу учебник — непонятны middleware, DI и отличие API от страничного UI.
- Top-level statements — в сериях Razor Pages и MVC для VS отключайте «интервал верхнего уровня», иначе расходятся
Program.csи примеры. - Сразу MVC и Razor Pages — выберите одну серию; вторая пойдёт быстрее после первой.
- Только чтение без
dotnet run— после 4511 соберите RazorPagesMovie или MvcMovie локально.
Дальше
- Продвинутый стек: 453 — Web API, PostgreSQL, S3
- Интеграции: 45 — веб и API на C#
- Карьера: роли и Learn
Итоги
Официальная документация ASP.NET Core 10 — хаб + серия Razor Pages (старт для новичков) или MVC + развёртывание. Энциклопедия даёт архитектуру и шпаргалку; Learn — пошаговую практику и актуальные версии API. Legacy Docker для Framework MVC держите отдельно от Core-контейнеров на Linux.
В подборках
Статья входит в тематические маршруты из меню Подборки и блока «С чего начать?» на главной. Соседние шаги того же маршрута:
Веб-разработка — ASP.NET - фреймворк для веб-приложений, Приложение с S3, PostgreSQL и ASP.NET Core Web API, Веб-разработка и API на C#, Python — о разделе, C# — о разделе, Веб-разработка и REST API на Python.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). C# как язык платформы .NET - устройство проекта, роль `.cs`-файлов и базовые принципы организации кода. C# — это современный, типизированный язык программирования общего назначения, разработанный корпорацией Microsoft. Справочник-шпаргалка по конфигурациям в C — типы, синтаксис, стандартная библиотека, типовые паттерны. Не заменяет пошаговое обучение. Учебный курс — раздел. Набор советов, правил, принципов и обычаев в разработке на этом языке. Кавычки, точки, запятые, скобки и прочие знаки препинания. Ключевые слова C# - назначение базовых конструкций языка и примеры их применения в типичном коде. Набор функций, которые включены в стандартную библиотеку языка. Пространства имён в C# - организация модулей, `file-scoped namespace` и поддержание чистой структуры кода. манипулировать данными (арифметические, логические, сравнительные операторы). Самый базовый способ ветвления — оператор if. Он проверяет условие и, если оно истинно (true), выполняет блок кода. Обработка исключений в C# - типы исключений, `try/catch/finally` и практики надежного кода. Платформо-зависимые исключения — например, PlatformNotSupportedException используется в кроссплатформенных API, когда функция недоступна на текущей ОС.C# - язык программирования платформы .NET
Что требуется знать перед началом изучения языка программирования C#
Справочник по конфигурациям в C#
Рекомендации по разработке на C#
Синтаксис и пунктуация в C#
Ключевые слова языка C#
Встроенные функции и методы C#
Пространства имён в C#
Управляющие конструкции и логические операторы
Условные выражения и ветвления
Обработка исключений в C#
Иерархия классов исключений в C#