Поделиться через


.NET и .NET Framework для серверных приложений

Существует две поддерживаемые реализации .NET для создания серверных приложений: .NET и платформа .NET Framework. Последняя версия .NET (в настоящее время .NET 8) является предпочтительной версией .NET для разработки серверов. Причины продолжения использования платформа .NET Framework являются конкретными и ограниченными.

Внедрение Включенные версии
.NET .NET Core 1.0 — 3.1
.NET 5 и более поздних версий
.NET Framework .NET Framework 1.0–4.8

Выбор .NET

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

  • Работает кроссплатформенным способом.

    .NET позволяет веб-приложению или службе работать на нескольких платформах, например Windows, Linux и macOS. Вы также можете использовать любую из этих операционных систем в качестве рабочей станции разработки. Используйте интегрированную среду разработки Visual Studio в Windows или используйте Visual Studio Code в macOS, Linux или Windows. Visual Studio Code поддерживает IntelliSense и отладку. С .NET работает большинство сторонних редакторов, например Sublime, Emacs и VI. Эти сторонние редакторы получают доступ к функциям в редакторе IntelliSense с помощью Omnisharp. Вы также можете пропустить редактор кода и напрямую использовать интерфейс командной строки .NET.

  • Позволяет использовать микрослужбы.

    Архитектура микрослужб позволяет использовать сочетание технологий за пределами службы. Такое сочетание технологий позволяет постепенно добавлять новые микрослужбы в .NET для параллельного использования с другими службами и микрослужбами. Например, можно комбинировать микрослужбы или службы, созданные на основе .NET Framework, Java, Ruby или других монолитные технологий.

    Пользователям на выбор предоставляется множество инфраструктурных платформ. Для больших и сложных систем микрослужб можно использовать Azure Service Fabric. Служба приложений Azure лучше всего подойдет для микрослужб без сохранения состояния. Альтернативы микрослужб на основе Docker соответствуют любому подходу микрослужб, как описано в следующем разделе (Поддерживает контейнеры Docker). Все эти платформы поддерживают .NET и идеально подходят для размещения микрослужб.

    Дополнительные сведения об архитектуре микрослужб см. в разделе микрослужб .NET: архитектура контейнерных приложений .NET.

  • Поддерживает контейнеры Docker.

    Контейнеры обычно используются с архитектурой микрослужб. Их также можно использовать, чтобы поместить в контейнер веб-приложения или службы на базе любого архитектурного шаблона. Хотя платформа .NET Framework можно использовать в контейнерах Windows, модульность и упрощенный характер .NET делают его лучшим выбором для контейнеров. При создании и развертывании контейнера размер его образа гораздо меньше, чем с платформа .NET Framework. Так как это кроссплатформенная платформа, вы можете развернуть серверные приложения в контейнерах Docker для Linux.

    Контейнеры Docker можно размещать в собственной инфраструктуре Linux или Windows или в облачной службе, например Служба Azure Kubernetes. Служба Azure Kubernetes может выполнять оркестрацию и масштабировать приложения на основе контейнеров, а также управлять ими в облаке.

  • Высокопроизводительная и масштабируемая.

    Если для вашей системы требуется максимальная производительность и возможности масштабирования, мы рекомендуем использовать среды .NET и ASP.NET Core. Среда выполнения высокопроизводительного сервера для Windows Server и Linux делает ASP.NET Core наиболее высокопроизводительной веб-платформой на тестах TechEmpower.

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

  • Поддерживает параллельные версии .NET для каждого приложения.

    Реализация .NET поддерживает параллельное установку разных версий среды выполнения .NET на одном компьютере. Эта возможность позволяет нескольким службам на одном сервере использовать каждую собственную версию .NET. Это позволяет устранить риски и сократить расходы на обновление приложений и ИТ-операции.

    Параллельная установка невозможна при использовании .NET Framework. Это компонент Windows, и только одна версия может существовать на компьютере одновременно: каждая версия платформа .NET Framework заменяет предыдущую версию. Если вы устанавливаете новое приложение, предназначенное для более поздней версии платформа .NET Framework, вы можете разорвать существующие приложения, которые выполняются на компьютере, так как предыдущая версия была заменена.

  • Безопаснее.

Случаи использования .NET Framework

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

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

    В большинстве случаев вам не потребуется переносить готовые приложения в среду .NET. Вместо этого рекомендуется использовать .NET при расширении существующего приложения, например написание новой веб-службы в ASP.NET Core.

  • Приложение использует сторонние библиотеки или пакеты NuGet, которые недоступны для .NET.

    .NET Standard обеспечивает общий доступ к коду во всех реализациях .NET, включая .NET 6+. В .NET Standard 2.0 этот режим совместимости позволяет проектам .NET Standard и .NET ссылаться на библиотеки .NET Framework. Дополнительные сведения см. в статье Поддержка библиотек платформы .NET Framework.

    Следует использовать только платформа .NET Framework, если библиотеки или пакеты NuGet используют технологии, недоступные в .NET Standard или .NET.

  • приложение использует технологии .NET Framework, недоступные для .NET;

    Некоторые технологии .NET Framework недоступны в среде .NET. Ниже приведен список самых распространенных технологий, которые недоступны в .NET:

    • ASP.NET веб-формы приложения: ASP.NET веб-формы доступны только в платформа .NET Framework. ASP.NET Core нельзя использовать для ASP.NET веб-формы.
    • веб-страницы ASP.NET приложения: веб-страницы ASP.NET не включены в ASP.NET Core.
    • Службы, связанные с рабочими процессами: Windows Workflow Foundation (WF), Службы рабочих процессов (WCF + WF в одной службе) и службы данных WCF (прежнее название — "службы данных ADO.NET") доступны только в платформа .NET Framework.
    • Поддержка языка: Visual Basic и F# поддерживаются в .NET, но не для всех типов проектов. Список поддерживаемых шаблонов проектов см. в статье о параметрах шаблона для dotnet new.

    Дополнительные сведения см. в статье Технологии .NET Framework, недоступные в .NET Core и .NET 5 и более поздних версий.

  • приложение использует платформу, не поддерживающую .NET.

    Некоторые платформы Майкрософт и платформы сторонних поставщиков не поддерживают среду .NET. Некоторые службы Azure предоставляют пакеты SDK, недоступные в среде .NET. В таких случаях в качестве альтернативы клиентскому пакету SDK можно использовать REST API.

См. также