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
Obsługa długoterminowa (LTS) w wersji6
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 Parametry
IAsyncCollector
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 funkcji
ILogger<T> poprzez wstrzykiwanie zależności
Zależności Szczegółowe informacje aplikacji Obsługiwane Obsługiwane
Tokeny anulowania Obsługiwane Obsługiwane
Zimny czas rozpoczęcia2 Konfigurowalne optymalizacje Optymalizacja
ReadyToRun Obsługiwane Obsł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.

Platforma 6 .NET 8 nie jest jeszcze obsługiwana w modelu przetwarzania, chociaż jest dostępna w modelu izolowanego procesu roboczego. Aby uzyskać informacje na temat planów platformy .NET 8, w tym przyszłych opcji modelu przetwarzania, zobacz wpis Aktualizacja planu działania usługi Azure Functions.

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 5
Functions 4.x .NET 8.0
.NET 7.01
.NET 6.02
.NET Framework 4.83
.NET 6.02
Funkcje 1.x4 nie dotyczy .NET Framework 4.8

1 .NET 7 kończy oficjalne wsparcie 14 maja 2024 r.
2 .NET 6 kończy oficjalne wsparcie 12 listopada 2024 r.
3 Proces kompilacji wymaga również zestawu .NET SDK. 4 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.
5 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.

Następne kroki