Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существует две поддерживаемые реализации .NET для создания серверных приложений: .NET и платформа .NET Framework. Последняя версия .NET (в настоящее время .NET 9) является предпочтительной версией .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 Web Forms: ASP.NET Web Forms доступны только на платформе .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.
приложение использует платформу, не поддерживающую .NET.
Некоторые платформы Майкрософт и платформы сторонних поставщиков не поддерживают среду .NET. Некоторые службы Azure предоставляют пакеты SDK, пока недоступные для использования в среде .NET. В таких случаях в качестве альтернативы клиентскому пакету SDK можно использовать REST API.