Különbségek az izolált feldolgozói modell és a .NET folyamaton belüli modellje között az Azure Functionsben
A .NET-függvényekhez két végrehajtási modell létezik:
Végrehajtási modell | Leírás |
---|---|
Izolált feldolgozói modell | A függvénykód egy külön .NET-feldolgozófolyamatban fut. A .NET és a .NET-keretrendszer támogatott verzióival használható. További információ: .NET izolált feldolgozói folyamatfüggvények fejlesztése. |
Folyamaton belüli modell | A függvénykód ugyanabban a folyamatban fut, mint a Functions gazdafolyamata. Csak a .NET hosszú távú támogatási (LTS) verzióit támogatja. További információ: .NET-osztálykódtár-függvények fejlesztése. |
Fontos
A folyamaton belüli modell támogatása 2026. november 10-én megszűnik. Erősen javasoljuk, hogy az alkalmazásokat az elkülönített feldolgozói modellbe migrálja a teljes támogatás érdekében.
Ez a cikk a két modell közötti funkcionális és viselkedési különbségek aktuális állapotát ismerteti. A folyamaton belüli modellről az izolált feldolgozói modellre való migráláshoz lásd : .NET-alkalmazások migrálása a folyamatban lévő modellből az izolált feldolgozói modellbe.
Végrehajtási modell összehasonlító táblázata
Az alábbi táblázat segítségével összehasonlíthatja a két modell közötti funkció- és funkcionális különbségeket:
Funkció/viselkedés | Izolált feldolgozói modell | Folyamatközi modell3 |
---|---|---|
Támogatott .NET-verziók | Hosszú távú támogatási (LTS-) verziók, Standard kifejezéstámogatási (STS-) verziók, .NET-keretrendszer |
Hosszú távú támogatás (LTS) 6-os verziói |
Alapcsomagok | Microsoft.Azure.Functions.Worker Microsoft.Azure.Functions.Worker.Sdk |
Microsoft.NET.Sdk.Functions |
Kötésbővítmény-csomagok | Microsoft.Azure.Functions.Worker.Extensions.* | Microsoft.Azure.WebJobs.Extensions.* |
Tartós függvények | Támogatott | Támogatott |
Kötések által közzétett modelltípusok | Egyszerű típusok JSON szerializálható típusok Tömbök/enumerálások Service SDK 4-típusok |
Egyszerű típusok JSON szerializálható típusok Tömbök/enumerálások Service SDK 4-típusok |
HTTP-eseményindító modelltípusai | HttpRequestData / HttpResponseData HttpRequest / IActionResult (ASP.NET Core-integráció használata)5 |
HttpRequest IActionResult5 / HttpRequestMessage / HttpResponseMessage |
Kimeneti kötések interakciói | Bővített modell értékeit adja vissza a következőkkel: - egy vagy több kimenet - kimenetek tömbjei |
Visszaadott értékek (csak egyetlen kimenet),out ParaméterekIAsyncCollector |
Imperatív kötések1 | Nem támogatott – ehelyett közvetlen SDK-típusok használata | Támogatott |
Függőséginjektálás | Támogatott (továbbfejlesztett modell, amely összhangban van a .NET-ökoszisztémával) | Támogatott |
Közbenső szoftver | Támogatott | Nem támogatott |
Naplózás | ILogger<T> /ILogger függvénykontextből vagy függőséginjektálásból nyert |
ILogger átadva a függvénynekILogger<T> függőséginjektáláson keresztül |
Alkalmazásfüggőségek Elemzések | Támogatott | Támogatott |
Lemondási jogkivonatok | Támogatott | Támogatott |
Hideg kezdési időpontok2 | Konfigurálható optimalizálás | Optimalizált |
ReadyToRun | Támogatott | Támogatott |
1 Ha futtatókörnyezetben meghatározott paraméterekkel kell kommunikálnia egy szolgáltatással, a megfelelő szolgáltatás SDK-k közvetlen használata javasolt imperatív kötések használatával. Az SDK-k kevésbé részletesek, több forgatókönyvet fednek le, és előnyösek a hibakezelési és hibakeresési célokra. Ez a javaslat mindkét modellre vonatkozik.
2 A hideg kezdési idők a Windowsra is hatással lehetnek, ha a .NET egyes előzetes verzióit használják az előzetes verziójú keretrendszerek időszerű betöltése miatt. Ez a hatás a folyamaton belüli és a folyamaton kívüli modellekre is vonatkozik, de a különböző verziók összehasonlításakor észrevehető lehet. Az előzetes verziók késése nem jelenik meg Linux-csomagokban.
A 3 C#-os szkriptfüggvények is folyamatban futnak, és ugyanazokat a kódtárakat használják, mint a folyamatközi osztálybeli kódtárfüggvények. További információ: Azure Functions C# szkript (.csx) fejlesztői referencia.
4 A szolgáltatás SDK-típusok közé tartoznak a .NET-hez készült Azure SDK-ból származó típusok, például a BlobClient.
5 ASP.NET Alaptípus nem támogatott a .NET-keretrendszer.
A 6 .NET 8 még nem támogatott a folyamatban lévő modellen, bár elérhető az izolált feldolgozói modellben. A .NET 8-csomagokról, beleértve a folyamatban lévő modell jövőbeli lehetőségeit is, tekintse meg az Azure Functions ütemtervfrissítési bejegyzését.
Támogatott verziók
A Functions-futtatókörnyezet verziói támogatják a .NET egyes verzióit. A Functions-verziókkal kapcsolatos további információkért tekintse meg az Azure Functions futtatókörnyezeti verzióinak áttekintését. A verziótámogatás attól is függ, hogy a függvények folyamatban vagy izolált feldolgozófolyamatban futnak-e.
Feljegyzés
A függvényalkalmazás által használt Functions-futtatókörnyezeti verzió módosításának megismeréséhez tekintse meg és frissítse az aktuális futtatókörnyezeti verziót.
Az alábbi táblázat a .NET vagy .NET-keretrendszer legmagasabb szintjét mutatja be, amely a Functions egy adott verziójával használható.
Functions futtatókörnyezet verziója | Izolált feldolgozói modell | Folyamatközi modell5 |
---|---|---|
Functions 4.x | .NET 8.0 .NET 7.01 .NET 6.02 .NET-keretrendszer 4,83 |
.NET 6.02 |
Functions 1.x4 | n.a. | .NET-keretrendszer 4.8 |
Az 1 .NET 7 2024. május 14-én véget ér a hivatalos támogatásnak .
A 2 .NET 6 2024. november 12-én véget ér a hivatalos támogatásnak .
3 A buildelési folyamathoz a .NET SDK is szükséges.
4 Az Azure Functions-futtatókörnyezet 1.x verziójának támogatása 2026. szeptember 14-én megszűnik. További információkért tekintse meg ezt a támogatási közleményt. A folyamatos teljes támogatás érdekében át kell telepítenie az alkalmazásokat a 4.x verzióra.
5 A folyamaton belüli modell támogatása 2026. november 10-én megszűnik. További információkért tekintse meg ezt a támogatási közleményt. A folyamatos teljes támogatás érdekében az alkalmazásokat át kell telepítenie az izolált feldolgozói modellbe.
Az Azure Functions-kiadásokkal kapcsolatos legfrissebb hírekért, beleértve a régebbi alverziók eltávolítását is, figyelje Azure-alkalmazás szolgáltatásjelentéseket.