Общие сведения об ASP.NET Core
Авторы: Дэниэл Рот (Daniel Roth), Рик Андерсон (Rick Anderson) и Шон Луттин (Shaun Luttin)
Примечание.
Это не последняя версия этой статьи. В текущем выпуске см . версию .NET 9 этой статьи.
Предупреждение
Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в статье о политике поддержки .NET и .NET Core. В текущем выпуске см . версию .NET 8 этой статьи.
Внимание
Эта информация относится к предварительному выпуску продукта, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
В текущем выпуске см . версию .NET 9 этой статьи.
ASP.NET Core является кроссплатформенной, высокопроизводительной средой с открытым исходным кодом для создания современных облачных приложений, подключенных к Интернету.
ASP.NET Core позволяет выполнять следующие задачи:
- Создавать веб-приложения и службы, приложения Интернета вещей (IoT) и серверные части для мобильных приложений.
- Использовать избранные средства разработки в Windows, macOS и Linux.
- Выполнять развертывания в облаке или локальной среде.
- Запустите в .NET.
Преимущества, обеспечиваемые ASP.NET Core
Миллионы разработчиков использовали и продолжают использовать ASP.NET 4.x для создания веб-приложений. ASP.NET Core — это модификация ASP.NET 4.x с архитектурными изменениями, формирующими более рациональную и более модульную платформу.
ASP.NET Core предоставляет следующие преимущества:
- Единое решение для создания пользовательского веб-интерфейса и веб-API.
- Разработано для тестируемости.
- Razor Pages упрощает написание кода для сценариев страниц и повышает его эффективность.
- Blazor позволяет использовать в браузере язык C# вместе с JavaScript. совместное использование серверной и клиентской логик приложений, написанных с помощью .NET;
- Возможность разработки и запуска в ОС Windows, macOS и Linux.
- Открытый исходный код и ориентация на сообщество.
- Интеграция современных клиентских платформ и рабочих процессов разработки.
- Поддержка размещения служб удаленного вызова процедур (RPC) с помощью gRPC.
- Облачная система конфигурации на основе среды.
- Встроенное введение зависимостей.
- Упрощенный высокопроизводительный модульный конвейер HTTP-запросов.
- Возможность размещения на следующих узлах:
- Управление параллельными версиями.
- Инструментарий, упрощающий процесс современной веб-разработки.
Создание веб-API и пользовательского веб-интерфейса с помощью ASP.NET Core MVC
ASP.NET Core MVC предоставляет функции, которые позволяют создавать веб-интерфейсы API и веб-приложения.
- Шаблон Model-View-Controller (MVC) помогает сделать веб-API и веб-приложения тестируемыми.
- Razor Pages — это основанная на страницах модель программирования, которая упрощает и повышает эффективность создания пользовательского веб-интерфейса.
- Разметка Razor предоставляет эффективный синтаксис для страниц Razor Pages и представлений MVC.
- Вспомогательные функции тегов позволяют серверному коду участвовать в создании и отображении HTML-элементов в файлах Razor.
- Благодаря встроенной поддержке нескольких форматов данных и согласованию содержимого веб-API становятся доступными для множества клиентов, включая браузеры и мобильные устройства.
- Привязка модели автоматически сопоставляет данные из HTTP-запросов с параметрами методов действия.
- Проверка модели автоматически выполняется на стороне сервера и клиента.
Клиентская разработка
ASP.NET Core включает в себя Blazor создание интерактивного веб-интерфейса, а также интегрируется с другими популярными платформами JavaScript внешнего интерфейса, такими как Angular, React, Vue и Bootstrap. Подробнее см. в статье ASP .NET CoreBlazor и сопутствующих материалах в разделе Разработка на стороне клиента.
Целевые версии платформы ASP.NET Core
ASP.NET Core 3.x или более поздней версии может использовать только .NET.
Существует несколько преимуществ для целевой платформы .NET, и эти преимущества увеличиваются при каждом выпуске. Некоторые преимущества .NET по сравнению с платформа .NET Framework включают:
- Кроссплатформенность. Выполняется в Windows, macOS и Linux.
- Улучшение производительности
- Управление параллельными версиями
- Новые интерфейсы API
- Открытый исходный код
Рекомендуемая схема обучения
Для знакомства с разработкой приложений ASP.NET Core рекомендуется изучить следующую последовательность учебников.
Пройдите учебник по тому типу приложения, которое вы собираетесь разрабатывать или обслуживать.
Тип приложения Сценарий Учебник Веб-приложение Разработка нового веб-интерфейса на стороне сервера Начало работы с Razor Pages Веб-приложение Обслуживание приложения MVC Начало работы с MVC Веб-приложение Разработка веб-интерфейса на стороне клиента Начало работы с Blazor Веб-интерфейс API Службы HTTP RESTFUL Создание веб-API† Приложение удаленного вызова процедур Разработка в соответствии с парадигмой "Сначала контракт" с использованием Protocol Buffers Начало работы со службой gRPC Приложение режима реального времени Двунаправленный обмен данными между сервером и подключенными к нему клиентами Начало работы с SignalR Пройдите учебник, посвященный основам доступа к данным.
Сценарий Учебник Разработка нового приложения Razor Pages с Entity Framework Core Обслуживание приложения MVC MVC с Entity Framework Core Ознакомьтесь с обзором основ ASP.NET Core, относящихся ко всем типам приложений.
Просмотрите содержание, чтобы найти другие интересующие вас темы.
†Доступен интерактивный учебник по веб-API. Локальная установка средств разработки не требуется. Код выполняется в Azure Cloud Shell в браузере, а для тестирования используется curl.
Миграция с .NET Framework
Справочное руководство по переносу приложений ASP.NET 4.x в ASP.NET Core см. в разделе "Обновление от ASP.NET до ASP.NET Core".
ASP.NET Core является кроссплатформенной, высокопроизводительной средой с открытым исходным кодом для создания современных облачных приложений, подключенных к Интернету. ASP.NET Core позволяет выполнять следующие задачи:
- Создавать веб-приложения и службы, приложения Интернета вещей (IoT) и серверные части для мобильных приложений.
- Использовать избранные средства разработки в Windows, macOS и Linux.
- Выполнять развертывания в облаке или локальной среде.
- Работать в .NET Core или .NET Framework.
Преимущества, обеспечиваемые ASP.NET Core
Миллионы разработчиков использовали и продолжают использовать ASP.NET 4.x для создания веб-приложений. ASP.NET Core — это модификация ASP.NET 4.x с архитектурными изменениями, формирующими более рациональную и более модульную платформу.
ASP.NET Core предоставляет следующие преимущества:
- Единое решение для создания пользовательского веб-интерфейса и веб-API.
- Разработано для тестируемости.
- Razor Pages упрощает написание кода для сценариев страниц и повышает его эффективность.
- Blazor позволяет использовать в браузере язык C# вместе с JavaScript. совместное использование серверной и клиентской логик приложений, написанных с помощью .NET;
- Возможность разработки и запуска в ОС Windows, macOS и Linux.
- Открытый исходный код и ориентация на сообщество.
- Интеграция современных клиентских платформ и рабочих процессов разработки.
- Поддержка размещения служб удаленного вызова процедур (RPC) с помощью gRPC.
- Облачная система конфигурации на основе среды.
- Встроенное введение зависимостей.
- Упрощенный высокопроизводительный модульный конвейер HTTP-запросов.
- Возможность размещения на следующих узлах:
- Управление параллельными версиями.
- Инструментарий, упрощающий процесс современной веб-разработки.
Создание веб-API и пользовательского веб-интерфейса с помощью ASP.NET Core MVC
ASP.NET Core MVC предоставляет функции, которые позволяют создавать веб-интерфейсы API и веб-приложения.
- Шаблон Model-View-Controller (MVC) помогает сделать веб-API и веб-приложения тестируемыми.
- Razor Pages — это основанная на страницах модель программирования, которая упрощает и повышает эффективность создания пользовательского веб-интерфейса.
- Разметка Razor предоставляет эффективный синтаксис для страниц Razor Pages и представлений MVC.
- Вспомогательные функции тегов позволяют серверному коду участвовать в создании и отображении HTML-элементов в файлах Razor.
- Благодаря встроенной поддержке нескольких форматов данных и согласованию содержимого веб-API становятся доступными для множества клиентов, включая браузеры и мобильные устройства.
- Привязка модели автоматически сопоставляет данные из HTTP-запросов с параметрами методов действия.
- Проверка модели автоматически выполняется на стороне сервера и клиента.
Клиентская разработка
ASP.NET Core легко интегрируется с популярными клиентскими платформами и библиотеками, включая BlazorAngular, React, Vue и Bootstrap. Подробнее см. в статье ASP .NET CoreBlazor и сопутствующих материалах в разделе Разработка на стороне клиента.
ASP.NET Core для платформы .NET Framework
Приложения ASP.NET Core 2.x могут выполняться в .NET Core или .NET Framework. Приложения ASP.NET Core, предназначенные для .NET Framework, не являются кроссплатформенными — они выполняются только в Windows. Как правило, ASP.NET Core 2.x состоит из библиотек .NET Standard. Библиотеки, написанные на .NET Standard 2.0 под управлением любой платформы .NET с реализацией .NET Standard 2.0.
ASP.NET Core 2.x поддерживается в версиях .NET Framework с реализацией .NET Standard 2.0:
- Рекомендуется использовать последнюю версию .NET Framework.
- .NET Framework 4.6.1 или более поздней версии.
ASP.NET Core 3.0 или более поздней версии работает только в .NET Core. Дополнительные сведения об этом изменении см. в разделе Первое знакомство с предстоящими изменениями в ASP.NET Core 3.0.
При использовании .NET Core существуют некоторые преимущества, и их число увеличивается с каждым выпуском. Преимущества .NET Core по сравнению с .NET Framework включают:
- Кроссплатформенность. Выполняется на macOS, Linux и Windows.
- Улучшение производительности
- Управление параллельными версиями
- Новые интерфейсы API
- Открытый исходный код
Благодаря пакету обеспечения совместимости Windows в .NET Core доступны тысячи API-интерфейсов, созданных только для Windows, что позволяет расширить диапазон API при переходе с .NET Framework на .NET Core. Эти API-интерфейсы не были доступны в .NET Core 1.x.
Рекомендуемая схема обучения
Для знакомства с разработкой приложений ASP.NET Core рекомендуется изучить следующую последовательность учебников и статей.
Пройдите учебник по тому типу приложения, которое вы собираетесь разрабатывать или обслуживать.
Тип приложения Сценарий Учебник Веб-приложение Разработка нового приложения Начало работы с Razor Pages Веб-приложение Обслуживание приложения MVC Начало работы с MVC Веб-интерфейс API Создание веб-API† Приложение режима реального времени Начало работы с SignalR Пройдите учебник, посвященный основам доступа к данным.
Сценарий Учебник Разработка нового приложения Razor Pages с Entity Framework Core Обслуживание приложения MVC MVC с Entity Framework Core Ознакомьтесь с обзором основ ASP.NET Core, относящихся ко всем типам приложений.
Просмотрите содержание, чтобы найти другие интересующие вас темы.
†Доступен новый учебник по веб-API с прохождением в браузере, не требующий установки локальной интегрированной среды разработки. Код выполняется в Azure Cloud Shell, а для тестирования используется curl.
Миграция с .NET Framework
Справочное руководство по переносу приложений ASP.NET в ASP.NET Core см. в разделе "Обновление от ASP.NET до ASP.NET Core".
Загрузка примера
Многие статьи и учебники содержат ссылки на примеры кода.
- Загрузите ZIP-файл репозитория ASP.NET.
- Распакуйте файл
AspNetCore.Docs-main.zip
. - Чтобы получить доступ к примеру приложения из статьи в распакованном репозитории, используйте URL-адрес примера ссылки из статьи для перехода к папке примера. Как правило, пример ссылки из статьи отображается в ее верхней части. Текст ссылки: Просмотрите или загрузите пример кода.
Директивы препроцессора в примере кода
Для демонстрации нескольких сценариев в примерах приложений используются директивы препроцессора #define
и #if-#else/#elif-#endif
, выборочно компилирующие и запускающие разные фрагменты примеров кода. В примерах, где применяется этот подход, задайте в начале файлов C# директиву #define
для определения символа, связанного со сценарием, который нужно запустить. Для запуска сценария в некоторых примерах потребуется определить символ в начале нескольких файлов.
Например, в следующем списке символов #define
видно, что доступно четыре сценария (один сценарий на символ). В текущем примере конфигурации запускается сценарий TemplateCode
:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Чтобы запустить в примере сценарий ExpandDefault
, задайте символ ExpandDefault
и оставьте остальные символы раскомментированными:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Дополнительные сведения об использовании директив препроцессора C# для выборочной компиляции фрагментов кода см. в разделах #define (Справочник по C#) и #if (Справочник по C#).
Критические изменения и советы по безопасности
Критические изменения и рекомендации по безопасности отображаются в репозитории объявлений. Объявления можно ограничить определенной версией, выбрав фильтр меток.
Следующие шаги
Дополнительные сведения см. на следующих ресурсах:
- Начало работы с ASP.NET Core
- Публикация приложения ASP.NET Core в Azure с помощью Visual Studio
- Основы ASP.NET Core
- В еженедельном выпуске ASP.NET Community Standup рассматривается ход работы и планы команды. Помимо этого, публикуются новые блоги и стороннее программное обеспечение.
ASP.NET Core