Różnice między izolowanym modelem procesu roboczego a modelem procesu dla platformy .NET w usłudze Azure Functions
Istnieją dwa modele wykonywania dla funkcji platformy .NET:
Model wykonania | opis |
---|---|
Model izolowanego procesu roboczego | Kod funkcji jest uruchamiany w osobnym procesie roboczym platformy .NET. Używaj z obsługiwanymi wersjami platform .NET i .NET Framework. Aby dowiedzieć się więcej, zobacz Develop .NET isolated worker process functions (Tworzenie izolowanych funkcji procesów roboczych platformy .NET). |
Model w procesie | Kod funkcji jest uruchamiany w tym samym procesie co proces hosta usługi Functions. Obsługuje tylko wersje long term support (LTS) platformy .NET. Aby dowiedzieć się więcej, zobacz Tworzenie funkcji biblioteki klas platformy .NET. |
Ważne
Wsparcie zostanie zakończone dla modelu procesu 10 listopada 2026 r. Zdecydowanie zalecamy przeprowadzenie migracji aplikacji do izolowanego modelu procesu roboczego w celu uzyskania pełnej obsługi.
W tym artykule opisano bieżący stan różnic funkcjonalnych i behawioralnych między dwoma modelami. Aby przeprowadzić migrację z modelu procesowego do izolowanego modelu roboczego, zobacz Migrowanie aplikacji platformy .NET z modelu procesu do izolowanego modelu procesu roboczego.
Tabela porównania modelu wykonywania
Skorzystaj z poniższej tabeli, aby porównać różnice funkcji i funkcjonalności między dwoma modelami:
Funkcja/zachowanie | Model izolowanego procesu roboczego | Modelw procesie 3 |
---|---|---|
Obsługiwane wersje platformy .NET | Wersje długoterminowej pomocy technicznej (LTS), Wersje standardowej obsługi terminów (STS), .NET Framework |
Wersje długoterminowej pomocy technicznej (LTS) kończące się na platformie .NET 8 |
Pakiety podstawowe | Microsoft.Azure.Functions.Worker Microsoft.Azure.Functions.Worker.Sdk |
Microsoft.NET.Sdk.Functions |
Wiązanie pakietów rozszerzeń | Microsoft.Azure.Functions.Worker.Extensions.* | Microsoft.Azure.WebJobs.Extensions.* |
Trwałe funkcje | Obsługiwane | Obsługiwane |
Typy modeli uwidocznione przez powiązania | Typy proste Typy serializowalne w formacie JSON Tablice/wyliczenia Typy zestawuSDK usługi 4 |
Typy proste Typy serializowalne w formacie JSON Tablice/wyliczenia Typy zestawuSDK usługi 4 |
Typy modeli wyzwalacza HTTP | HttpRequestData / HttpResponseData HttpRequest / IActionResult (przy użyciu integracji ASP.NET Core)5 |
HttpRequest IActionResult5 / HttpRequestMessage / HttpResponseMessage |
Interakcje powiązań wyjściowych | Zwracanie wartości w rozwiniętym modelu za pomocą następujących elementów: - pojedyncze lub wiele danych wyjściowych - tablice danych wyjściowych |
Zwracane wartości (tylko pojedyncze dane wyjściowe),out ParametryIAsyncCollector |
Powiązaniaimperatywne 1 | Nieobsługiwane — zamiast tego pracować bezpośrednio z typami zestawu SDK | Obsługiwane |
Wstrzykiwanie zależności | Obsługiwane (ulepszony model zgodny z ekosystemem platformy .NET) | Obsługiwane |
Oprogramowanie pośredniczące | Obsługiwane | Nieobsługiwane |
Rejestrowanie | ILogger<T> /ILogger uzyskany z funkcjiContext lub za pomocą wstrzykiwania zależności |
ILogger przekazana do funkcjiILogger<T> poprzez wstrzykiwanie zależności |
Zależności usługi Application Insights | Obsługiwane | Obsługiwane |
Tokeny anulowania | Obsługiwane | Obsługiwane |
Zimny czas rozpoczęcia2 | Konfigurowalne optymalizacje | Optymalizacja |
ReadyToRun | Obsługiwane | Obsługiwane |
[Flex Consumption] | Obsługiwane | Nieobsługiwane |
.NET Aspire | Podgląd | Nieobsługiwane |
1 Jeśli konieczne jest interakcja z usługą przy użyciu parametrów określonych w czasie wykonywania, użycie odpowiednich zestawów SDK usługi jest zalecane bezpośrednio za pomocą powiązań imperatywnych. Zestawy SDK są mniej pełne, obejmują więcej scenariuszy i mają zalety obsługi błędów i debugowania. To zalecenie dotyczy obu modeli.
2 Zimne czasy rozpoczęcia mogą mieć dodatkowy wpływ na system Windows w przypadku korzystania z niektórych wersji zapoznawczych platformy .NET z powodu ładowania just in time struktur w wersji zapoznawczej. Ten wpływ ma zastosowanie zarówno do modeli procesu, jak i poza procesem, ale może być zauważalny podczas porównywania między różnymi wersjami. To opóźnienie w przypadku wersji zapoznawczych nie jest obecne w planach systemu Linux.
3 Funkcje skryptu języka C# są również uruchamiane w procesie i używają tych samych bibliotek co funkcje biblioteki klas przetwarzania. Aby uzyskać więcej informacji, zobacz dokumentację dla deweloperów skryptu języka C# usługi Azure Functions (csx).
4 Typy zestawu SDK usługi obejmują typy z zestawu Azure SDK dla platformy .NET , takie jak BlobClient.
5 typów ASP.NET Core nie jest obsługiwanych w przypadku programu .NET Framework.
Obsługiwane wersje
Wersje środowiska uruchomieniowego usługi Functions obsługują określone wersje platformy .NET. Aby dowiedzieć się więcej na temat wersji usługi Functions, zobacz Omówienie wersji środowiska uruchomieniowego usługi Azure Functions. Obsługa wersji zależy również od tego, czy funkcje działają w procesie przetwarzania, czy izolowanego procesu roboczego.
Uwaga
Aby dowiedzieć się, jak zmienić wersję środowiska uruchomieniowego usługi Functions używaną przez aplikację funkcji, zobacz wyświetlanie i aktualizowanie bieżącej wersji środowiska uruchomieniowego.
W poniższej tabeli przedstawiono najwyższy poziom platformy .NET lub .NET Framework, który może być używany z określoną wersją usługi Functions.
Wersja środowiska uruchomieniowego usługi Functions | Model izolowanego procesu roboczego | Modelw procesie 4 |
---|---|---|
Funkcje 4.x1 | .NET 9.0 .NET 8.0 .NET Framework 4.82 |
.NET 8.0 |
Funkcje 1.x3 | nie dotyczy | .NET Framework 4.8 |
Wersja 1 .NET 6 była wcześniej obsługiwana w obu modelach, ale osiągnęła koniec oficjalnego wsparcia 12 listopada 2024 r. Platforma .NET 7 była wcześniej obsługiwana w modelu izolowanego procesu roboczego, ale 14 maja 2024 r. zakończyła się oficjalnym wsparciem .
2 Proces kompilacji wymaga również zestawu .NET SDK.
3 Zakończenie wsparcia dla wersji 1.x środowiska uruchomieniowego usługi Azure Functions 14 września 2026 r. Aby uzyskać więcej informacji, zobacz to ogłoszenie pomocy technicznej. Aby zapewnić ciągłą pełną obsługę, należy przeprowadzić migrację aplikacji do wersji 4.x.
4 Wsparcie kończy się dla modelu procesu 10 listopada 2026 r. Aby uzyskać więcej informacji, zobacz to ogłoszenie pomocy technicznej. Aby zapewnić ciągłą pełną obsługę, należy przeprowadzić migrację aplikacji do izolowanego modelu procesu roboczego.
Aby uzyskać najnowsze informacje o wersjach usługi Azure Functions, w tym o usunięciu określonych starszych wersji pomocniczych, monitoruj ogłoszenia usługi aplikacja systemu Azure.