Entrainement
Module
Ce module vous guide tout au long de l’implémentation d’indicateurs de fonctionnalités dans une application de microservices ASP.NET Core avec Azure App Configuration.
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
.NET 5+ (y compris les versions .NET Core) prend en charge l’utilisation de fichiers de configuration et de variables d’environnement pour configurer le comportement des applications .NET au moment de l’exécution.
Notes
Les articles de cette section concernent la configuration du runtime .NET lui-même. Si vous effectuez une migration vers .NET Core 3.1 ou version ultérieure et que vous recherchez un remplacement pour le fichier app.config, ou si vous souhaitez simplement utiliser des valeurs de configuration personnalisées dans votre application .NET, consultez la classe Microsoft.Extensions.Configuration.ConfigurationBuilder et Configuration dans .NET.
L’utilisation de ces paramètres est une option intéressante si :
.NET fournit les mécanismes suivants pour configurer le comportement du runtime .NET :
Conseil
La configuration d’une option à l’aide d’une variable d’environnement applique le paramètre à toutes les applications .NET. La configuration d’une option dans le fichier runtimeconfig.json ou le fichier projet applique le paramètre à cette application uniquement.
Certaines valeurs de configuration peuvent également être définies par programmation en appelant la méthode AppContext.SetSwitch.
Les articles de cette section de la documentation sont organisés par catégorie, par exemple, débogage et garbage collection. Le cas échéant, les options de configuration s’affichent pour les fichiers runtimeconfig.json, les propriétés MSBuild, les variables d’environnement et, pour référence croisée, les fichiers app.config pour les projets .NET Framework.
Lorsqu’un projet est généré, un fichier [appname].runtimeconfig.json est généré dans le répertoire de sortie. Si un fichier runtimeconfig.template.json existe dans le même dossier que le fichier projet, toutes les options de configuration qu’il contient sont insérées dans le fichier [appname].runtimeconfig.json. Si vous générez l’application vous-même, placez des options de configuration dans le fichier runtimeconfig.template.json. Si vous exécutez simplement l’application, insérez-les directement dans le fichier [appname].runtimeconfig.json.
Notes
OutputType
de votre application n’est pas Exe
et que vous souhaitez que les options de configuration soient copiées de runtimeconfig.template.json vers [appname].runtimeconfig.json, vous devez définir explicitement GenerateRuntimeConfigurationFiles
sur true
dans votre fichier projet. Pour les applications qui nécessitent un fichier runtimeconfig.json, cette propriété est true
par défaut.Spécifiez les options de configuration du runtime dans la section configProperties des fichiers runtimeconfig.json. Cette section se présente sous la forme :
"configProperties": {
"config-property-name1": "config-value1",
"config-property-name2": "config-value2"
}
Si vous placez les options dans le fichier JSON de sortie, imbriquez-les sous la propriété runtimeOptions
.
{
"runtimeOptions": {
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "3.1.0"
},
"configProperties": {
"System.GC.Concurrent": false,
"System.Threading.ThreadPool.MinThreads": 4,
"System.Threading.ThreadPool.MaxThreads": 25
}
}
}
Si vous placez les options dans le fichier JSON du modèle, omettez la propriété runtimeOptions
.
{
"configProperties": {
"System.GC.Concurrent": false,
"System.Threading.ThreadPool.MinThreads": "4",
"System.Threading.ThreadPool.MaxThreads": "25"
}
}
Certaines options de configuration du runtime peuvent être définies à l’aide des propriétés MSBuild dans le fichier .csproj ou .vbproj des projets .NET Core de style SDK. Les propriétés MSBuild sont prioritaires par rapport aux options définies dans le fichier runtimeconfig.template.json.
Voici un exemple de fichier projet de style SDK avec des propriétés MSBuild pour la configuration du comportement au moment de l’exécution :
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<ConcurrentGarbageCollection>false</ConcurrentGarbageCollection>
<ThreadPoolMinThreads>4</ThreadPoolMinThreads>
<ThreadPoolMaxThreads>25</ThreadPoolMaxThreads>
</PropertyGroup>
</Project>
Les propriétés MSBuild pour la configuration du comportement au moment de l’exécution sont notées dans les articles individuels pour chaque zone, par exemple, garbage collection. Elles sont également répertoriées dans la section Configuration du runtime de la référence des propriétés MSBuild pour les projets de style SDK.
Les variables d’environnement peuvent être utilisées pour fournir des informations de configuration du runtime. La configuration d’une option au moment de l’exécution à l’aide d’une variable d’environnement applique le paramètre à toutes les applications .NET Core. Les boutons de configuration spécifiés en tant que variables d’environnement ont généralement le préfixe DOTNET_.
Notes
.NET 6 se normalise sur le préfixe DOTNET_
au lieu de COMPlus_
pour les variables d’environnement qui configurent le comportement au moment de l’exécution de .NET. Toutefois, le préfixe COMPlus_
continuera à fonctionner. Si vous utilisez une version précédente du runtime .NET, vous devez tout de même utiliser le préfixe COMPlus_
.
Vous pouvez définir des variables d’environnement à partir du Panneau de configuration Windows, sur la ligne de commande ou par programmation en appelant la méthode Environment.SetEnvironmentVariable(String, String) sur les systèmes Windows et Unix.
Les exemples suivants montrent comment définir une variable d’environnement sur la ligne de commande :
# Windows
set DOTNET_GCRetainVM=1
# Powershell
$env:DOTNET_GCRetainVM="1"
# Unix
export DOTNET_GCRetainVM=1
Entrainement
Module
Ce module vous guide tout au long de l’implémentation d’indicateurs de fonctionnalités dans une application de microservices ASP.NET Core avec Azure App Configuration.