Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aktualizowanie aplikacji z platformy ASP.NET Framework do platformy ASP.NET Core nie jest proste dla większości aplikacji produkcyjnych. Te aplikacje często integrują nowe technologie, gdy stają się one dostępne, i często składają się z wielu dziedziczonych decyzji. Ten przewodnik zawiera praktyczne podejścia i narzędzia do aktualizowania aplikacji ASP.NET Framework do ASP.NET Core przy jak najmniejszych zmianach.
Dlaczego migracja jest trudna
Migracja z platformy ASP.NET Framework do platformy ASP.NET Core obejmuje kilka złożonych wyzwań, które sprawiają, że pełne ponowne zapisywanie jest trudne i ryzykowne dla większości aplikacji produkcyjnych:
Akumulacja długu technicznego
Aplikacje produkcyjne często gromadziły dług techniczny na przestrzeni lat rozwoju:
- Zależności System.Web — wszechobecne użycie HttpContext i powiązanych typów w całej bazie kodu.
- Nieaktualne zależności pakietów , które mogą nie mieć nowoczesnych zgodnych odpowiedników
- Starsze narzędzia kompilacji i konfiguracje projektów, które nie są zgodne z współczesnym .NET
- Przestarzałe użycie interfejsu API , które należy zastąpić nowoczesnymi alternatywami
- Ostrzeżenia kompilatora i problemy z jakością kodu , które komplikują migrację
Problemy przekrojowe
Wiele aplikacji ma problemy obejmujące wiele warstw i wymagają starannej koordynacji podczas migracji:
- Zarządzanie stanem sesji — ASP.NET Framework i ASP.NET Core mają zasadniczo różne interfejsy API i zachowania sesji
- Uwierzytelnianie i autoryzacja — różne modele uwierzytelniania i interfejsy API między strukturami
- Rejestrowanie i monitorowanie — należy zachować spójne rejestrowanie w obu aplikacjach podczas migracji
- Strategie buforowania — buforowanie w pamięci, rozproszonej lub wyjściowej musi być spójnie utrzymywane
- Obsługa błędów — ustanawianie spójnych wzorców obsługi błędów w obu aplikacjach
- Zarządzanie konfiguracją — zarządzanie ustawieniami , które muszą być współużytkowane lub synchronizowane między aplikacjami
- Wstrzykiwanie zależności — migrowanie z różnych kontenerów DI do wbudowanego kontenera ASP.NET Core
Ogólny wzorzec hosta może pomóc rozwiązać kilka z tych problemów, wprowadzając nowoczesną infrastrukturę platformy .NET do aplikacji platformy ASP.NET Framework. Aby uzyskać szczegółowe informacje, zobacz Host ogólny platformy .NET w programie ASP.NET Framework.
Łańcuchy zależności biblioteki
Biblioteki pomocnicze często mają złożone relacje zależności, które wymagają starannego ustalenia kolejności aktualizacji.
- Złożoność drzewa zależności — biblioteki muszą zostać uaktualnione w kolejności wyszukiwania po wyższej kolejności
- Wymagania dotyczące obsługi wielu platform — biblioteki muszą obsługiwać wszystkie wersje platformy wymagane przez aplikację.
- Zgodność interfejsu API — zapewnianie współdziałania bibliotek z obiem wersją platformy w okresie migracji
- Złożoność testowania — każde uaktualnienie biblioteki wymaga dokładnego testowania w celu zapewnienia zgodności
Różnice architektury aplikacji
Podstawowe różnice między platformą ASP.NET Framework i platformą ASP.NET Core tworzą dodatkowe wyzwania:
- Modele hostingu — różne podejścia do zarządzania hostingem aplikacji i cyklem życia
- Pipelina middleware — przejście z modułów HTTP i programów obsługi do middleware
- Przetwarzanie żądań — różne modele i konteksty przetwarzania żądań
- Charakterystyka wydajności — różne wzorce użycia pamięci i profile wydajności
Te wyzwania sprawiają, że migracja przyrostowa jest preferowaną metodą dla większości aplikacji produkcyjnych, ponieważ umożliwia zespołom stopniowe rozwiązywanie tych problemów przy zachowaniu działającej aplikacji w środowisku produkcyjnym.
Aby uzyskać dokumentację dotyczącą ważnych obszarów, które uległy zmianie, zapoznaj się z powiązanymi tematami dostępnymi w Złożone scenariusze migracji — szczegółowe obszary.
Zacznij tutaj: wybierz ścieżkę migracji
Aplikacja platformy ASP.NET Framework może pomyślnie przejść do ASP.NET Core. Kluczem jest wybór odpowiedniego podejścia do konkretnej sytuacji.
Szybki przewodnik po decyzjach
Odpowiedz na następujące pytania, aby wybrać swoje podejście:
Jaki jest Twój harmonogram i tolerancja ryzyka?
- Należy pozostać w produkcji podczas migracji przyrostowej
- Można sobie pozwolić na całkowite przepisanie → Migracja w miejscu
Jak duża jest aplikacja?
- Migracja małych i średnich aplikacji → Migracja na miejscu
- Duże aplikacje produkcyjne → migracja przyrostowa jest bezpieczniejsza
Czy masz złożone zależności?
- Nieznane lub nieaktualne zależności → migracji przyrostowej
- Duże wykorzystanie funkcji System.Web → Migracja fazowa
- Minimalne zależności → Migracja w miejscu
Migracja przyrostowa
Migracja przyrostowa to implementacja wzorca Strangler Fig i jest najlepsza w przypadku większych projektów lub projektów, które muszą nadal pozostawać w środowisku produkcyjnym w trakcie migracji. Zobacz Rozpocznij migrację z ASP.NET do ASP.NET Core przyrostowo, aby krok po kroku rozpocząć migrację aplikacji.
Migracja na miejscu
Migracja w miejscu może działać w przypadku wystarczająco małych aplikacji. Jeśli to możliwe, umożliwia to szybkie zastąpienie aplikacji. Jednak małe problemy mogą się nawarstwiać, jeśli zdecydujesz się przeprowadzić migrację na miejscu. Zobacz Dowiedz się, jak przeprowadzić migrację z ASP.NET MVC, interfejsu API sieci Web i formularzy sieci Web do ASP.NET Core aby uzyskać informacje na temat opcji narzędzi migracji.
ASP.NET Core