Обучение
Модуль
Реализация флагов функций в облачном приложении микрослужб ASP.NET Core - Training
В этом модуле описано, как реализовать флаг компонента в приложении микрослужб ASP.NET Core с помощью конфигурации приложений Azure.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
.NET Core 5 и более поздних версий (включая версии .NET Core) поддерживает использование файлов конфигурации и переменных среды для настройки поведения приложений .NET во время выполнения.
Примечание
Статьи в этом разделе касаются настройки среды выполнения .NET. Если вы выполняете миграцию на .NET Core 3,1 или более поздней версии и ищете замену файла app.config или если вы просто хотите использовать пользовательские значения конфигурации в приложении .NET, ознакомьтесь с классом и конфигурацией в .NET.
Использование этих параметров является привлекательным вариантом, если:
.NET предоставляет следующие механизмы настройки поведения среды выполнения .NET:
Совет
Настройка параметра с помощью переменной среды применяет этот параметр ко всем приложениям .NET. Настройка параметра в файле runtimeconfig. JSON или проекта применяет параметр только к этому приложению.
Значения некоторых параметров конфигурации также можно задать программным способом, вызвав метод AppContext.SetSwitch.
Статьи в этом разделе документации упорядочены по категориям, например, отладка и сборка мусора. В соответствующих случаях параметры конфигурации отображаются для файлов runtimeconfig.json, свойств MSBuild, переменных среды и, для перекрестных ссылок, файлов app.config для проектов .NET Framework.
Если проект собран, в выходном каталоге создается файл [имя_приложения].runtimeconfig.json. Если файл runtimeconfig.template.json находится в той же папке, что и файл проекта, все параметры конфигурации, которые он содержит, добавляются в файл [имя_приложения].runtimeconfig.json. Если вы самостоятельно создаете приложение, разместите все параметры конфигурации в файле runtimeconfig.template.json. Если вы только запускаете приложение, вставьте их непосредственно в файл [имя_приложения].runtimeconfig.json.
Примечание
OutputType
приложения не имеет значение Exe
и вы хотите скопировать параметры конфигурации из OutputType
в Exe
, необходимо явно задать для GenerateRuntimeConfigurationFiles
значение true
в файле проекта. Для приложений, которым требуется файл runtimeconfig.json, это свойство по умолчанию имеет значение .Параметры конфигурации времени выполнения следует указывать в файлах runtimeconfig.json в разделе configProperties. Этот раздел имеет следующий вид:
"configProperties": {
"config-property-name1": "config-value1",
"config-property-name2": "config-value2"
}
Если вы помещаете параметры в выходной JSON-файл, вложите их в свойство 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
}
}
}
Если вы помещаете параметры в шаблон JSON-файла, опустите свойство runtimeOptions
.
{
"configProperties": {
"System.GC.Concurrent": false,
"System.Threading.ThreadPool.MinThreads": "4",
"System.Threading.ThreadPool.MaxThreads": "25"
}
}
Некоторые параметры конфигурации времени выполнения можно задать с помощью свойств MSBuild в файле .csproj или .vbproj для проектов .NET Core типа SDK. Свойства MSBuild имеют приоритет над параметрами, заданными в файле runtimeconfig.template.json.
Ниже приведен пример файла проекта в стиле пакета SDK со свойствами MSBuild для настройки поведения во время выполнения:
<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>
Свойства MSBuild для настройки поведения во время выполнения указаны в отдельных статьях для каждой области, например сборка мусора. Они также перечислены в разделе Свойства конфигурации среды выполнения в справочнике по свойствам MSBuild для проектов SDK.
Переменные среды можно использовать для предоставления некоторых сведений о конфигурации времени выполнения. При настройке параметра времени выполнения с помощью переменной среды этот параметр будет применяться ко всем приложениям .NET Core. Элементы конфигурации, указанные в качестве переменных среды, обычно имеют префикс DOTNET_ .
Примечание
.NET 6 стандартизует префикс DOTNET_
вместо COMPlus_
для переменных среды, которые настраивают поведение .NET во время выполнения. Но префикс COMPlus_
будет и дальше работать. Если вы используете предыдущую версию среды выполнения .NET, следует и дальше использовать префикс COMPlus_
для переменных среды.
Переменные среды можно определить с помощью панели управления Windows, в командной строке или программным способом, вызвав метод Environment.SetEnvironmentVariable(String, String) в Windows и системах на основе Unix.
В следующих примерах показано, как задать переменную среды в командной строке:
# Windows
set DOTNET_GCRetainVM=1
# Powershell
$env:DOTNET_GCRetainVM="1"
# Unix
export DOTNET_GCRetainVM=1
Обучение
Модуль
Реализация флагов функций в облачном приложении микрослужб ASP.NET Core - Training
В этом модуле описано, как реализовать флаг компонента в приложении микрослужб ASP.NET Core с помощью конфигурации приложений Azure.