Udostępnij za pośrednictwem


.NET a .NET Framework dla aplikacji serwerowych

Istnieją dwie obsługiwane implementacje platformy .NET do tworzenia aplikacji po stronie serwera: .NET i .NET Framework. Najnowsza wersja platformy .NET (obecnie .NET 8) jest preferowaną wersją platformy .NET do użycia na potrzeby programowania serwerów. Powody kontynuowania korzystania z programu .NET Framework są specyficzne i ograniczone.

Implementacja Uwzględnione wersje
.NET .NET Core 1.0 — 3.1
.NET 5 i nowsze wersje
.NET Framework .NET Framework 1.0 — 4.8

Wybieranie platformy .NET

Platforma .NET ma następujące zalety dla aplikacji serwerowych:

  • Działa międzyplatformowo.

    Platforma .NET umożliwia uruchamianie aplikacji internetowej lub usługi na wielu platformach, na przykład Windows, Linux i macOS. Możesz również użyć dowolnego z tych systemów operacyjnych jako stacji roboczej dewelopera. Użyj zintegrowanego środowiska projektowego programu Visual Studio w systemie Windows lub użyj programu Visual Studio Code w systemach macOS, Linux lub Windows. Program Visual Studio Code obsługuje funkcję IntelliSense i debugowanie. Większość edytorów innych firm, takich jak Sublime, Emacs i VI, współpracuje z platformą .NET. Te edytory innych firm uzyskują funkcję IntelliSense edytora za pomocą narzędzia Omnisharp. Możesz również pominąć edytor kodu i bezpośrednio użyć interfejsu wiersza polecenia platformy .NET.

  • Umożliwia kierowanie mikrousług.

    Architektura mikrousług umożliwia połączenie technologii między granicami usług. Ta kombinacja technologii umożliwia stopniowe stosowanie platformy .NET dla nowych mikrousług, które współpracują z innymi mikrousługami lub usługami. Na przykład można mieszać mikrousługi lub usługi opracowane za pomocą platformy .NET Framework, Java, Ruby lub innych technologii monolitycznych.

    Dostępnych jest wiele platform infrastruktury. Usługa Azure Service Fabric jest przeznaczona dla dużych i złożonych systemów mikrousług. aplikacja systemu Azure Service to dobry wybór dla mikrousług bezstanowych. Alternatywy mikrousług oparte na platformie Docker pasują do dowolnego podejścia mikrousług, jak wyjaśniono w następnej sekcji (obsługuje kontenery platformy Docker). Wszystkie te platformy obsługują platformę .NET i sprawiają, że idealnie nadają się do hostowania mikrousług.

    Aby uzyskać więcej informacji na temat architektury mikrousług, zobacz .NET Microservices: Architecture for containerized .NET apps (Mikrousługi platformy .NET: architektura dla konteneryzowanych aplikacji platformy .NET).

  • Obsługuje kontenery platformy Docker.

    Kontenery są często używane z architekturą mikrousług. Kontenery mogą być również używane do konteneryzowania aplikacji internetowych lub usług, które są zgodne z dowolnym wzorcem architektury. Chociaż program .NET Framework może być używany w kontenerach systemu Windows, modułowość i lekki charakter platformy .NET sprawiają, że jest to lepszy wybór dla kontenerów. Podczas tworzenia i wdrażania kontenera rozmiar obrazu jest znacznie mniejszy z platformą .NET niż w programie .NET Framework. Ze względu na to, że jest to międzyplatformowa platforma, można wdrażać aplikacje serwera w kontenerach platformy Docker systemu Linux.

    Kontenery platformy Docker można hostować we własnej infrastrukturze systemu Linux lub Windows albo w usłudze w chmurze, takiej jak Azure Kubernetes Service. Usługa Azure Kubernetes Service może zarządzać, organizować i skalować aplikacje oparte na kontenerach w chmurze.

  • Jest wysokowydajna i skalowalna.

    Jeśli system potrzebuje najlepszej możliwej wydajności i skalowalności, platformy .NET i ASP.NET Core to najlepsze opcje. Środowisko uruchomieniowe serwera o wysokiej wydajności dla systemów Windows Server i Linux sprawia, że ASP.NET Core jest najwyższej wydajności platformą internetową w testach porównawczych TechEmpower.

    Wydajność i skalowalność są szczególnie istotne w przypadku architektur mikrousług, w których mogą być uruchomione setki mikrousług. Dzięki ASP.NET Core systemy działają z znacznie mniejszą liczbą serwerów lub maszyn wirtualnych, co pozwala zaoszczędzić koszty na infrastrukturze i hostingu.

  • Obsługuje równoległe wersje platformy .NET dla aplikacji.

    Implementacja platformy .NET obsługuje instalacje równoległe różnych wersji środowiska uruchomieniowego platformy .NET na tej samej maszynie. Ta funkcja umożliwia korzystanie z wielu usług na tym samym serwerze, z których każda ma własną wersję platformy .NET. Obniża również ryzyko i oszczędza pieniądze na uaktualnieniach aplikacji i operacjach IT.

    Instalacja równoległa nie jest możliwa w przypadku programu .NET Framework. Jest to składnik systemu Windows i tylko jedna wersja może istnieć na maszynie jednocześnie: każda wersja programu .NET Framework zastępuje poprzednią wersję. Jeśli zainstalujesz nową aplikację przeznaczoną dla nowszej wersji programu .NET Framework, możesz przerwać istniejące aplikacje uruchomione na maszynie, ponieważ poprzednia wersja została zastąpiona.

  • Jest bezpieczniejszy.

Kiedy wybrać program .NET Framework

Jak wspomniano wcześniej, implementacja platformy .NET oferuje znaczne korzyści dla nowych aplikacji i wzorców aplikacji. Jednak w niektórych konkretnych scenariuszach może być konieczne użycie programu .NET Framework dla aplikacji serwerowych, a program .NET Framework będzie nadal obsługiwany. Użyj programu .NET Framework dla aplikacji serwera, gdy:

  • Aplikacja obecnie używa programu .NET Framework.

    W większości przypadków nie trzeba migrować istniejących aplikacji na platformę .NET. Zamiast tego zalecamy użycie platformy .NET podczas rozszerzania istniejącej aplikacji, takiej jak pisanie nowej usługi internetowej w programie ASP.NET Core.

  • Aplikacja używa bibliotek innych firm lub pakietów NuGet, które nie są dostępne dla platformy .NET.

    Platforma .NET Standard umożliwia udostępnianie kodu we wszystkich implementacjach platformy .NET, w tym .NET 6+. W przypadku platformy .NET Standard 2.0 tryb zgodności umożliwia projektom platformy .NET Standard i .NET odwołanie do bibliotek programu .NET Framework. Aby uzyskać więcej informacji, zobacz Obsługa bibliotek programu .NET Framework.

    Należy używać programu .NET Framework tylko wtedy, gdy biblioteki lub pakiety NuGet używają technologii, które nie są dostępne na platformie .NET Standard lub .NET.

  • Aplikacja korzysta z technologii .NET Framework, które nie są dostępne dla platformy .NET.

    Niektóre technologie .NET Framework nie są dostępne na platformie .NET. Na poniższej liście przedstawiono najbardziej typowe technologie, których nie znaleziono na platformie .NET:

    • ASP.NET aplikacji Web Forms: ASP.NET web forms są dostępne tylko w programie .NET Framework. ASP.NET Core nie można używać do ASP.NET Web Forms.
    • ASP.NET aplikacje stron sieci Web: ASP.NET stron sieci Web nie są uwzględniane w ASP.NET Core.
    • Usługi związane z przepływem pracy: Windows Workflow Foundation (WF), Workflow Services (WCF + WF w jednej usłudze) i Usługi danych programu WCF (wcześniej znane jako "ADO.NET Data Services") są dostępne tylko w programie .NET Framework.
    • Obsługa języka: język Visual Basic i F# są obsługiwane na platformie .NET, ale nie dla wszystkich typów projektów. Aby uzyskać listę obsługiwanych szablonów projektów, zobacz Opcje szablonu dla aplikacji dotnet new.

    Aby uzyskać więcej informacji, zobacz Technologie .NET Framework niedostępne na platformie .NET.

  • Aplikacja używa platformy, która nie obsługuje platformy .NET.

    Niektóre platformy firmy Microsoft lub innych firm nie obsługują platformy .NET. Niektóre usługi platformy Azure udostępniają zestaw SDK, który nie jest jeszcze dostępny do użycia na platformie .NET. W takich przypadkach można użyć równoważnego interfejsu API REST zamiast zestawu SDK klienta.

Zobacz też