Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Il existe deux modèles d’exécution pour les fonctions .NET :
| Modèle d’exécution | Descriptif |
|---|---|
| Modèle Worker isolé | Le code de votre fonction s’exécute dans un processus Worker .NET distinct. Utilisez avec les versions prises en charge de .NET et .NET Framework. Pour plus d’informations, consultez Guide d’exécution de C# Azure Functions dans le modèle worker isolé. |
| Modèle in-process | Le code de votre fonction s’exécute dans le même processus que le processus hôte Functions. Prend uniquement en charge les versions LTS (Long Term Support) de .NET. Pour en découvrir plus, consultez Développer des fonctions de bibliothèque de classes C# à l’aide d’Azure Functions. |
Important
La prise en charge du modèle in-process prendra fin le 10 novembre 2026. Nous vous recommandons fortement de migrer vos applications vers le modèle de Worker isolé pour une prise en charge complète.
Cet article décrit l’état actuel des différences fonctionnelles et comportementales entre les deux modèles. Pour migrer du modèle in-process vers le modèle de travail isolé, consultez Migrer des applications .NET du modèle in-process vers le modèle de travail isolé.
Tableau de comparaison des modèles d’exécution
Utilisez le tableau suivant pour comparer les différences fonctionnelles et fonctionnelles entre les deux modèles :
| Fonctionnalité/Comportement | Modèle de Worker isolé | Modèle in-process3 |
|---|---|---|
| Versions .NET prises en charge | Versions du support à long terme (LTS) Versions de support à durée Standard (STS), Cadre .NET |
Versions du support à long terme (LTS) jusqu’à .NET 8 |
| Packages principaux |
Microsoft.Azure.Functions.Worker Microsoft.Azure.Functions.Worker.Sdk |
Fonctions Microsoft.NET.Sdk |
| Packages d’extension de liaison | Microsoft.Azure.Functions.Worker.Extensions.* | Microsoft.Azure.WebJobs.Extensions.* |
| Fonctions durables | Pris en charge | Pris en charge |
| Types de modèles exposés par des liaisons | Types simples Types sérialisables JSON Tableaux/énumérations Types de SDK de service4 |
Types simples Types sérialisables JSON Tableaux/énumérations Types de SDK de service4 |
| Types de modèles de déclencheur HTTP |
HttpRequestData / HttpResponseData HttpRequest / IActionResult (en utilisant l'intégration ASP.NET Core)5 |
HttpRequest / IActionResult5 HttpRequestMessage / HttpResponseMessage |
| Interactions de liaison de sortie | Renvoie les valeurs dans un modèle étendu avec : – sorties simples ou multiples – tableaux de sorties |
Valeurs de retour (sortie unique uniquement),out paramètres,IAsyncCollector |
| Liaisons impératives1 | Non pris en charge – travaillez plutôt directement avec les types de SDK | Pris en charge |
| Injection de dépendances | Pris en charge (modèle amélioré cohérent avec l'écosystème .NET) | Pris en charge |
| Intergiciel | Pris en charge | Non pris en charge |
| Journalisation |
ILogger<T>
/
ILogger obtenu à partir de FunctionContext ou à l’aide de l’injection de dépendances |
ILogger transmis à la fonctionILogger<T> en utilisant l’injection de dépendances |
| Dépendances d’Application Insights | Pris en charge | Pris en charge |
| Jetons d’annulation | Pris en charge | Pris en charge |
| Temps de démarrage à froid2 | Optimisations configurables | Optimisée |
| ReadyToRun | Pris en charge | Pris en charge |
| [Consommation flexible] | Pris en charge | Non pris en charge |
| .NET Aspire | Préversion | Non pris en charge |
1 Lorsque vous devez interagir avec un service à l’aide de paramètres déterminés au moment de l’exécution, l’utilisation directe des Kits de développement logiciel (SDK) de service correspondants est recommandée à l’aide de liaisons impératives. Les Kits de développement logiciel (SDK) sont moins détaillés, couvrent plus de scénarios et présentent des avantages pour la gestion des erreurs et le débogage. Cette recommandation s’applique aux deux modèles.
2 Les temps de démarrage à froid peuvent également être affectés sur Windows lors de l’utilisation de certaines versions préliminaires de .NET en raison du chargement à la demande de frameworks préliminaires. Elles ont un impact sur les modèles In-process et Out-of-process, mais cela peut être négligeable lorsque vous comparez différentes versions. Ce retard pour les préversions n’est pas présent sur les plans Linux.
3 Les fonctions de script C# s’exécutent également in-process et utilisent les mêmes bibliothèques que les fonctions de bibliothèque de classes in-process. Pour plus d’informations, consultez la référence du développeur de script C# (.csx) Azure Functions.
4 Les types de SDK de service incluent les types du SDK Azure pour .NET tels que BlobClient.
5 les types ASP.NET Core ne sont pas pris en charge dans .NET Framework.
Versions prises en charge
Les versions du runtime Functions prennent en charge des versions spécifiques de .NET. Pour en savoir plus sur les versions de Functions, consultez Vue d’ensemble des versions du runtime Azure Functions. La prise en charge de version dépend également de si vos fonctions s’exécutent au sein d’un processus ou dans un processus Worker isolé.
Remarque
Pour savoir comment modifier la version du runtime Functions utilisée par votre application de fonction, consultez Afficher et mettre à jour la version actuelle du runtime.
Le tableau suivant montre le niveau le plus élevé de .NET ou .NET Framework qui peut être utilisé avec une version spécifique de Functions.
| Version du runtime Functions | Modèle Worker isolé | Modèle In-process4 |
|---|---|---|
| Functions 4.x1 | .NET 105 .NET 9.0 .NET 8.0 .NET Framework 4.82 |
.NET 8.0 |
| Fonctions 1.x3 | n/a | .NET Framework 4.8 |
1 .NET 6 était précédemment pris en charge sur les deux modèles, mais a atteint la fin du support officiel le 12 novembre 2024. .NET 7 a été précédemment pris en charge sur le modèle de travail isolé, mais a atteint la fin du support officiel le 14 mai 2024.
2 Le processus de génération nécessite également le kit de développement logiciel (SDK) .NET.
3 La prise en charge de la version 1.x du runtime Azure Functions prendra fin le 14 septembre 2026. Pour plus d’informations, lisez cette annonce relative à la prise en charge. Pour une prise en charge complète continue, vous devez migrer vos applications vers la version 4.x.
4 La prise en charge du modèle In-process prendra fin le 10 novembre 2026. Pour plus d’informations, lisez cette annonce relative à la prise en charge. Pour continuer à bénéficier d’une prise en charge complète, vous devez migrer vos applications vers le modèle Worker isolé.
5 Vous ne pouvez pas exécuter d’applications .NET 10 sur Linux dans le plan Consommation. Pour s’exécuter sur Linux, vous devez utiliser plutôt le plan Flex Consumption.
Pour obtenir les dernières informations sur les versions Azure Functions, notamment sur la suppression des versions mineures les plus anciennes, surveillez les annonces Azure App Service.