Rozdíly mezi izolovaným modelem pracovního procesu a modelem v procesu pro .NET ve službě Azure Functions
Pro funkce .NET existují dva modely spouštění:
Model spouštění | Popis |
---|---|
Izolovaný model pracovního procesu | Kód funkce se spouští v samostatném pracovním procesu .NET. Používá se s podporovanými verzemi rozhraní .NET a .NET Framework. Další informace najdete v tématu Vývoj funkcí izolovaného pracovního procesu .NET. |
Model v procesu | Kód funkce se spouští ve stejném procesu jako hostitelský proces služby Functions. Podporuje pouze verze dlouhodobé podpory (LTS) rozhraní .NET. Další informace najdete v tématu Vývoj funkcí knihovny tříd .NET. |
Důležité
Podpora modelu v procesu skončí 10. listopadu 2026. Důrazně doporučujeme migrovat aplikace do izolovaného modelu pracovního procesu pro plnou podporu.
Tento článek popisuje aktuální stav funkčních a behaviorálních rozdílů mezi těmito dvěma modely. Pokud chcete migrovat z modelu v procesu na izolovaný pracovní model, přečtěte si téma Migrace aplikací .NET z modelu v procesu na izolovaný model pracovního procesu.
Tabulka porovnání prováděcího modelu
K porovnání funkcí a funkčních rozdílů mezi těmito dvěma modely použijte následující tabulku:
Funkce/chování | Izolovaný model pracovního procesu | Model v procesu3 |
---|---|---|
Podporované verze .NET | Dlouhodobé podpory (LTS) verze, Standardní verze podpory termínů (STS) .NET Framework |
Dlouhodobé verze podpory (LTS) končící na .NET 8 |
Základní balíčky | Microsoft.Azure.Functions.Worker Microsoft.Azure.Functions.Worker.Sdk |
Microsoft.NET.Sdk.Functions |
Vazby balíčků rozšíření | Microsoft.Azure.Functions.Worker.Extensions.* | Microsoft.Azure.WebJobs.Extensions.* |
Odolná služba Functions | Podporuje se | Podporuje se |
Typy modelů vystavené vazbami | Jednoduché typy Serializovatelné typy JSON Pole/výčty Typysady SDK služby 4 |
Jednoduché typy Serializovatelné typy JSON Pole/výčty Typysady SDK služby 4 |
Typy modelů triggeru HTTP | HttpRequestData / HttpResponseData HttpRequest / IActionResult (s využitím integrace ASP.NET Core)5 |
HttpRequest IActionResult5 / HttpRequestMessage / HttpResponseMessage |
Interakce výstupních vazeb | Vrácení hodnot v rozšířeném modelu pomocí: – jeden nebo více výstupů - pole výstupů |
Návratové hodnoty (pouze jeden výstup)out parametryIAsyncCollector |
Imperativní vazby1 | Nepodporuje se – místo toho můžete pracovat s typy sad SDK přímo | Podporuje se |
Injektáž závislostí | Podporováno (vylepšený model konzistentní s ekosystémem .NET) | Podporuje se |
Middleware | Podporuje se | Nepodporováno |
Protokolování | ILogger<T> /ILogger získané z FunctionContext nebo prostřednictvím injektáže závislostí |
ILogger předáno funkciILogger<T> prostřednictvím injektáže závislostí |
Závislosti Application Insights | Podporuje se | Podporuje se |
Tokeny zrušení | Podporuje se | Podporuje se |
Časy studeného startu2 | Konfigurovatelné optimalizace | Optimalizované |
ReadyToRun | Podporuje se | Podporuje se |
[Flex Consumption] | Podporuje se | Nepodporováno |
.NET Aspire | Náhled | Nepodporováno |
1 Pokud potřebujete pracovat se službou pomocí parametrů určených za běhu, doporučuje se použití odpovídajících sad SDK služby přímo pomocí imperativních vazeb. Sady SDK jsou méně podrobné, pokrývají více scénářů a mají výhody pro zpracování chyb a účely ladění. Toto doporučení platí pro oba modely.
2 Časy studeného startu mohou být navíc ovlivněny windows při použití některých verzí Preview rozhraní .NET kvůli načítání architektur Preview za běhu. Tento dopad platí jak pro modely v procesu, tak i modely mimo zpracování, ale při porovnávání v různých verzích to může být patrné. Tato prodleva pro verze Preview není k dispozici v plánech Linuxu.
3 Funkce skriptů jazyka C# také běží v procesu a používají stejné knihovny jako funkce knihovny tříd v procesu. Další informace najdete v referenčních informacích pro vývojáře azure Functions v jazyce C# (.csx).
4 Typy sady SDK služby zahrnují typy ze sady Azure SDK pro .NET , jako je BlobClient.
Rozhraní .NET Framework nepodporuje 5 typů ASP.NET Core.
Podporované verze
Verze modulu runtime Služby Functions podporují konkrétní verze rozhraní .NET. Další informace o verzích functions najdete v přehledu verzí modulu runtime Azure Functions. Podpora verzí také závisí na tom, jestli vaše funkce běží v procesu nebo izolovaný pracovní proces.
Poznámka:
Informace o tom, jak změnit verzi modulu runtime Functions používanou vaší aplikací funkcí, najdete v zobrazení a aktualizaci aktuální verze modulu runtime.
Následující tabulka ukazuje nejvyšší úroveň rozhraní .NET nebo .NET Framework, kterou je možné použít s konkrétní verzí funkcí.
Verze modulu runtime služby Functions | Izolovaný model pracovního procesu | Model v procesu4 |
---|---|---|
Funkce 4.x1 | .NET 9.0 .NET 8.0 .NET Framework 4.82 |
.NET 8.0 |
Funkce 1.x3 | Není k dispozici | .NET Framework 4.8 |
1 .NET 6 bylo dříve podporováno na obou modelech, ale dosáhlo konce oficiální podpory 12. listopadu 2024. Rozhraní .NET 7 bylo dříve podporováno v izolovaném modelu pracovních procesů, ale dosáhlo konce oficiální podpory 14. května 2024.
2 Proces sestavení také vyžaduje sadu .NET SDK.
3 Podpora modulu runtime Azure Functions končí 1.x 14. září 2026. Další informace najdete v tomto oznámení podpory. Pokud chcete pokračovat v plné podpoře, měli byste migrovat aplikace na verzi 4.x.
4 Podpora modelu v procesu končí 10. listopadu 2026. Další informace najdete v tomto oznámení podpory. Pokud chcete pokračovat v plné podpoře, měli byste své aplikace migrovat do izolovaného pracovního modelu.
Nejnovější zprávy o vydaných verzích Azure Functions, včetně odebrání konkrétních starších podverzí, monitorujte oznámení služby Aplikace Azure.