Общее руководство

Совет

Это содержимое является фрагментом из электронной книги, архитектуры микрослужб .NET для контейнерных приложений .NET, доступных в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно читать в автономном режиме.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

В этом разделе приводится сводка по выбору .NET 8 или платформа .NET Framework. Дополнительные сведения об этих вариантах представлены в последующих разделах.

Используйте .NET 8 с контейнерами Linux или Windows для контейнерного серверного приложения Docker, если:

  • для создания кроссплатформенных решений; Например, вы хотите использовать контейнеры и Windows, и Linux.

  • Архитектура приложения основана на микрослужбах.

  • Вам нужно быстро запустить контейнеры, и вы хотите использовать небольшой объем памяти на каждый контейнер, чтобы получить более высокую плотность или больше контейнеров на единицу оборудования для снижения затрат.

Короче говоря, при создании контейнерных приложений .NET следует учитывать .NET 8 в качестве варианта по умолчанию. Он имеет множество преимуществ и лучше соответствует концепции и стилю работы с контейнерами.

Дополнительное преимущество использования .NET 8 заключается в том, что вы можете запускать параллельные версии .NET для приложений на одном компьютере. Данное преимущество более важно для серверов или виртуальных машин, которые не используют контейнеры, так как контейнеры изолируют версии .NET, нужные приложению. (При условии, что они совместимы с базовой ОС.)

Используйте .NET Framework для серверных приложений в контейнерах Docker в следующих случаях.

  • В настоящее время приложение использует .NET Framework и имеет строгие зависимости от Windows.

  • Необходимо использовать API Windows, которые не поддерживаются .NET 8.

  • Необходимо использовать сторонние библиотеки .NET или пакеты NuGet, которые недоступны для .NET 8.

Использование .NET Framework в Docker может улучшить качество развертывания, сводя к минимуму проблемы развертывания. Этот сценарий "лифт и смена" важен для контейнеризации устаревших приложений, которые изначально были разработаны с помощью традиционных платформа .NET Framework, таких как ASP.NET WebForms, веб-приложения MVC или WCF (Windows Communication Foundation).

Дополнительные ресурсы

  • Электронная книга: модернизация существующих приложений платформа .NET Framework с помощью контейнеров Azure и Windows
    https://aka.ms/liftandshiftwithcontainersebook

  • Примеры приложений. Модернизация веб-приложений ASP.NET прежних версий с помощью контейнеров Windows
    https://aka.ms/eshopmodernizing