Параметры конфигурации доступа C# во время ConfigurationServices ⇐ C#
-
Anonymous
Параметры конфигурации доступа C# во время ConfigurationServices
Существует ли рабочий метод доступа к значениям конфигурации во время ConfigureServices() в C# netCore? У меня есть настройки dapr, добавленные как «шаблон параметров», но мне нужны значения в том же разделе немедленно.
var builder = WebApplication.CreateBuilder(args); builder.Host.ConfigureServices((ctx, Services) => { Services.ConfigureOptions(); var daprSettings = ctx.Configuration.Get(); // ???? вар daprClient = новый DaprClientBuilder().UseGrpcEndpoint(daprSettings.gcprEndpoint).Build(); } где
публичный класс DaprConfig { [ConfigurationKeyName("stateStoreName")] общественная строка stateStoreName {get; набор; } = ноль!; [ConfigurationKeyName("gcprEndpoint")] общественная строка gcprEndpoint {get; набор; } = ноль!; } внутренний класс DaprConfigConfigBinder: IConfigureOptions { частная константная строка SECTION_NAME = "Dapr"; частная конфигурация IConfiguration только для чтения; общедоступный DaprConfigConfigBinder (конфигурация IConfiguration) { this.config = конфигурация; } public void Настройка (опции DaprConfig) { this.config.GetSection(SECTION_NAME).Bind(options); } } Важная часть и appsettings.json:
{ "Дапр": { "stateStoreName": "statestore", "gcprEndpoint": "http://127.0.0.1:13109" } } Заранее спасибо!
Существует ли рабочий метод доступа к значениям конфигурации во время ConfigureServices() в C# netCore? У меня есть настройки dapr, добавленные как «шаблон параметров», но мне нужны значения в том же разделе немедленно.
var builder = WebApplication.CreateBuilder(args); builder.Host.ConfigureServices((ctx, Services) => { Services.ConfigureOptions(); var daprSettings = ctx.Configuration.Get(); // ???? вар daprClient = новый DaprClientBuilder().UseGrpcEndpoint(daprSettings.gcprEndpoint).Build(); } где
публичный класс DaprConfig { [ConfigurationKeyName("stateStoreName")] общественная строка stateStoreName {get; набор; } = ноль!; [ConfigurationKeyName("gcprEndpoint")] общественная строка gcprEndpoint {get; набор; } = ноль!; } внутренний класс DaprConfigConfigBinder: IConfigureOptions { частная константная строка SECTION_NAME = "Dapr"; частная конфигурация IConfiguration только для чтения; общедоступный DaprConfigConfigBinder (конфигурация IConfiguration) { this.config = конфигурация; } public void Настройка (опции DaprConfig) { this.config.GetSection(SECTION_NAME).Bind(options); } } Важная часть и appsettings.json:
{ "Дапр": { "stateStoreName": "statestore", "gcprEndpoint": "http://127.0.0.1:13109" } } Заранее спасибо!
Мобильная версия