Введение в ASP.NET Core

Авторы: Дэниэл Рот (Daniel Roth), Рик Андерсон (Rick Anderson) и Шон Луттин (Shaun Luttin)

ASP.NET Core является кроссплатформенной, высокопроизводительной средой с открытым исходным кодом для создания современных облачных приложений, подключенных к Интернету. ASP.NET Core позволяет выполнять следующие задачи:

  • Создавать веб-приложения и службы, приложения Интернета вещей (IoT) и серверные части для мобильных приложений.
  • Использовать избранные средства разработки в Windows, macOS и Linux.
  • Выполнять развертывания в облаке или локальной среде.
  • Запускать в .NET Core.

Преимущества, обеспечиваемые ASP.NET Core

Миллионы разработчиков использовали и продолжают использовать ASP.NET 4.x для создания веб-приложений. ASP.NET Core — это модификация ASP.NET 4.x с архитектурными изменениями, формирующими более рациональную и более модульную платформу.

ASP.NET Core предоставляет следующие преимущества:

Создание веб-API и пользовательского веб-интерфейса с помощью ASP.NET Core MVC

ASP.NET Core MVC предоставляет функции, которые позволяют создавать веб-интерфейсы API и веб-приложения.

Клиентская разработка

ASP.NET Core легко интегрируется с распространенными клиентскими платформами и библиотеками, в том числе Blazor, Angular, React и Bootstrap. Подробнее см. Введение в ASP.NET Core Blazor и связанные материалы о разработке на стороне клиента.

Целевые версии платформы ASP.NET Core

ASP.NET Core 3.x и более поздние версии может выполняться только в .NET Core. Как правило, ASP.NET Core состоит из библиотек .NET Standard. Библиотеки, написанные на .NET Standard 2.0 под управлением любой платформы .NET с реализацией .NET Standard 2.0.

При использовании .NET Core существуют некоторые преимущества, и их число увеличивается с каждым выпуском. Преимущества .NET Core по сравнению с .NET Framework включают:

Для знакомства с разработкой приложений ASP.NET Core рекомендуется изучить следующую последовательность учебников.

  1. Пройдите учебник по тому типу приложения, которое вы собираетесь разрабатывать или обслуживать.

    Тип приложения Сценарий Учебник
    Веб-приложение Разработка нового веб-интерфейса на стороне сервера Начало работы с Razor Pages
    Веб-приложение Обслуживание приложения MVC Начало работы с MVC
    Веб-приложение Разработка веб-интерфейса на стороне клиента Начало работы с Blazor
    Веб-интерфейс API Службы HTTP RESTFUL Создание веб-API
    Приложение удаленного вызова процедур Разработка в соответствии с парадигмой "Сначала контракт" с использованием Protocol Buffers Начало работы со службой gRPC
    Приложение режима реального времени Двунаправленный обмен данными между сервером и подключенными к нему клиентами Начало работы с SignalR
  2. Пройдите учебник, посвященный основам доступа к данным.

    Сценарий Учебник
    Разработка нового приложения Razor Pages с Entity Framework Core
    Обслуживание приложения MVC MVC с Entity Framework Core
  3. Ознакомьтесь с обзором основ ASP.NET Core, относящихся ко всем типам приложений.

  4. Просмотрите содержание, чтобы найти другие интересующие вас темы.

†Доступен интерактивный учебник по веб-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 и пользовательского веб-интерфейса с помощью ASP.NET Core MVC

ASP.NET Core MVC предоставляет функции, которые позволяют создавать веб-интерфейсы API и веб-приложения.

Клиентская разработка

ASP.NET Core легко интегрируется с распространенными клиентскими платформами и библиотеками, в том числе Blazor, Angular, React и Bootstrap. Подробнее см. Введение в ASP.NET Core Blazor и связанные материалы о разработке на стороне клиента.

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 включают:

Благодаря пакету обеспечения совместимости Windows в .NET Core доступны тысячи API-интерфейсов, созданных только для Windows, что позволяет расширить диапазон API при переходе с .NET Framework на .NET Core. Эти API-интерфейсы не были доступны в .NET Core 1.x.

Для знакомства с разработкой приложений ASP.NET Core рекомендуется изучить следующую последовательность учебников и статей.

  1. Пройдите учебник по тому типу приложения, которое вы собираетесь разрабатывать или обслуживать.

    Тип приложения Сценарий Учебник
    Веб-приложение Разработка нового приложения Начало работы с Razor Pages
    Веб-приложение Обслуживание приложения MVC Начало работы с MVC
    Веб-интерфейс API Создание веб-API
    Приложение режима реального времени Начало работы с SignalR
  2. Пройдите учебник, посвященный основам доступа к данным.

    Сценарий Учебник
    Разработка нового приложения Razor Pages с Entity Framework Core
    Обслуживание приложения MVC MVC с Entity Framework Core
  3. Ознакомьтесь с обзором основ ASP.NET Core, относящихся ко всем типам приложений.

  4. Просмотрите содержание, чтобы найти другие интересующие вас темы.

† Доступен новый учебник по веб-API с прохождением в браузере, не требующий установки локальной интегрированной среды разработки. Код выполняется в Azure Cloud Shell, а для тестирования используется curl.

Миграция с .NET Framework

Справочное руководство по миграции приложений ASP.NET на ASP.NET Core см. в статье Миграция с ASP.NET на ASP.NET Core.

Загрузка примера

Многие статьи и учебники содержат ссылки на примеры кода.

  1. Загрузите ZIP-файл репозитория ASP.NET.
  2. Распакуйте файл AspNetCore.Docs-main.zip.
  3. Чтобы получить доступ к примеру приложения из статьи в распакованном репозитории, используйте 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#).

Регионы в примере кода

Некоторые примеры приложений содержат фрагменты кода внутри директив C# #region и #endregion. Система сборки документации вставляет эти регионы в обработанные разделы документации.

Названия регионов обычно содержат слово "фрагмент". В следующем примере показан регион с именем snippet_WebHostDefaults:

#region snippet_WebHostDefaults
Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
    });
#endregion

На предыдущий фрагмент кода C# указывает ссылка в следующей строке в файле Markdown раздела:

[!code-csharp[](sample/SampleApp/Program.cs?name=snippet_WebHostDefaults)]

Вы можете спокойно проигнорировать или удалить директивы #region и #endregion вокруг кода. Не изменяйте код внутри этих директив, если планируете запустить примеры сценариев, описанные в разделе. Вы можете изменить код, экспериментируя с другими сценариями.

Дополнительные сведения см. в разделеУчастие в написании документации ASP.NET: Фрагменты кода.

Критические изменения и советы по безопасности

Критические изменения и рекомендации по безопасности отображаются в репозитории объявлений. Объявления можно ограничить определенной версией, выбрав фильтр меток.

Дальнейшие действия

Дополнительные сведения см. в следующих ресурсах: