Udostępnij za pomocą


Kiedy wybrać program .NET Framework dla kontenerów platformy Docker

Wskazówka

Ta treść jest fragmentem eBooka "Architektura mikrousług .NET dla konteneryzowanych aplikacji .NET", dostępnego na .NET Docs lub jako bezpłatny plik PDF do pobrania i czytania w trybie offline.

Miniatura okładki eBooka „Architektura mikrousług platformy .NET dla konteneryzowanych aplikacji platformy .NET”.

Chociaż platforma .NET 8 oferuje znaczące korzyści dla nowych aplikacji i wzorców aplikacji, program .NET Framework będzie nadal dobrym wyborem dla wielu istniejących scenariuszy.

Migrowanie istniejących aplikacji bezpośrednio do kontenera systemu Windows Server

Aby uprościć wdrażanie, nawet jeśli nie tworzysz mikrousług, warto użyć kontenerów platformy Docker. Na przykład możesz ulepszyć przepływ pracy metodyki DevOps za pomocą platformy Docker — kontenery mogą zapewnić lepsze izolowane środowiska testowe, a także wyeliminować problemy z wdrażaniem spowodowane brakującymi zależnościami podczas przechodzenia do środowiska produkcyjnego. W takich przypadkach, nawet jeśli wdrażasz aplikację monolityczną, warto używać platformy Docker i kontenerów systemu Windows dla bieżących aplikacji .NET Framework.

W większości przypadków w tym scenariuszu nie trzeba migrować istniejących aplikacji do platformy .NET 8; Można użyć kontenerów platformy Docker, które obejmują tradycyjny program .NET Framework. Jednak zalecaną metodą jest użycie platformy .NET 8 podczas rozszerzania istniejącej aplikacji, takiej jak pisanie nowej usługi w programie ASP.NET Core.

Korzystanie z bibliotek .NET innych firm lub pakietów NuGet nie jest dostępne dla platformy .NET 8

Biblioteki innych firm szybko korzystają z platformy .NET Standard, co umożliwia udostępnianie kodu we wszystkich wersjach platformy .NET, w tym .NET 8. W przypadku .NET Standard 2.0 lub nowszego zgodność zakresu API w różnych platformach stała się znacznie większa. Jeszcze więcej, aplikacje .NET Core 2.x i nowsze mogą również bezpośrednio odwoływać się do istniejących bibliotek programu .NET Framework (zobacz .NET Framework 4.6.1 obsługującą platformę .NET Standard 2.0).

Ponadto pakiet zgodności systemu Windows rozszerza powierzchnię interfejsu API dostępną dla platformy .NET Standard 2.0 w systemie Windows. Ten pakiet umożliwia ponowne skompilowanie większości istniejącego kodu do platformy .NET Standard 2.x, z niewielkimi zmianami lub bez modyfikacji, aby działać w środowisku Windows.

Jednak nawet w przypadku tego wyjątkowego postępu od wersji .NET Standard 2.0 i .NET Core 2.1 lub nowszej mogą wystąpić przypadki, w których niektóre pakiety NuGet wymagają uruchomienia systemu Windows i mogą nie obsługiwać platformy .NET Core lub nowszej. Jeśli te pakiety mają krytyczne znaczenie dla aplikacji, należy użyć programu .NET Framework w kontenerach systemu Windows.

Korzystanie z technologii .NET nie jest dostępne dla platformy .NET 8

Niektóre technologie .NET Framework nie są dostępne na platformie .NET 8. Niektóre z nich mogą stać się dostępne w nowszych wersjach, ale inne nie pasują do nowych wzorców aplikacji przeznaczonych dla platformy .NET Core i mogą nigdy nie być dostępne.

Na poniższej liście przedstawiono większość technologii, które nie są dostępne na platformie .NET 8:

  • ASP.NET formularzy sieci Web. Ta technologia jest dostępna tylko w programie .NET Framework. Obecnie nie ma planów przeniesienia ASP.NET web forms na platformę .NET lub nowszą.

  • Usługi związane z przepływem pracy. Windows Workflow Foundation (WF), Workflow Services (WCF + WF w jednej usłudze) i WCF Data Services (wcześniej znane jako ADO.NET Data Services) są dostępne tylko na platformie .NET Framework. Obecnie nie ma planów przeniesienia ich do platformy .NET 8.

Oprócz technologii wymienionych w oficjalnym harmonogramie działania platformy .NET inne funkcje mogą zostać przeniesione do nowej ujednoliconej platformy .NET. Możesz rozważyć udział w dyskusjach w usłudze GitHub, aby twój głos był słyszany. Jeśli uważasz, że brakuje czegoś, utwórz nowy problem w repozytorium github dotnet/runtime .

Korzystanie z platformy lub interfejsu API, który nie obsługuje platformy .NET 8

Niektóre platformy firmy Microsoft i innych firm nie obsługują platformy .NET 8. Na przykład niektóre usługi platformy Azure udostępniają zestaw SDK, który nie jest jeszcze dostępny do użycia na platformie .NET 8. Większość Azure SDK powinna zostać ostatecznie przeniesiona na platformę .NET 8/.NET Standard, ale niektóre z kilku powodów mogą nie zostać przeniesione. Dostępne zestawy SDK platformy Azure można wyświetlić na stronie Najnowsze wersje zestawu Azure SDK .

W międzyczasie, jeśli jakakolwiek platforma lub usługa na platformie Azure nadal nie obsługuje platformy .NET 8 z interfejsem API klienta, możesz użyć równoważnego interfejsu API REST z usługi platformy Azure lub zestawu SDK klienta w programie .NET Framework.

Przenoszenie istniejącej aplikacji ASP.NET do platformy .NET 8

Platforma .NET Core to rewolucyjny krok naprzód z programu .NET Framework. Oferuje ona wiele korzyści w porównaniu z platformą .NET Framework, od produktywności do wydajności oraz od obsługi międzyplatformowej po zadowolenie deweloperów.

Dodatkowe zasoby