Установите const или статическое значение поля Readonly из Appsettings.json через инъекцию зависимостей в .NET Core 9C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Установите const или статическое значение поля Readonly из Appsettings.json через инъекцию зависимостей в .NET Core 9

Сообщение Anonymous »

У меня есть этот класс Magicsgtrings , который содержит некоторые константы, которые я использую в службу работников.

Код: Выделить всё

internal class MagicStrings
{
public const string HttpClientName = "X_HttpClient";
...
}
Использование: MagicStrings.httpclientName
У меня также есть эти значения, установленные в Appsettings.json , MagicStrings используются такими Запасная сторона для настройки конфигурации: < /p>

Код: Выделить всё

public Worker( IConfiguration config) => (_config) = (config){
...
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
...
var httpClient = _httpClientFactory.CreateClient(
_config.GetValue("HttpClientBasicConfig:HttpClientName")
?? MagicStrings.HttpClientName);
}
}
< /code>
Что я хотел бы, чтобы это _config.getvalue  ("httpclientbasicconfig: httpclientname") ?? MagicStrings.httpclientName) 
перенесено в MagicStrings класс что -то вроде этого:

Код: Выделить всё

internal class MagicStrings
{
private readonly IConfiguration _config = null!;

public MagicStrings(IConfiguration config) => (_config) = (config);

public const string HttpClientName =
_config.GetValue("HttpClientBasicConfig:HttpClientName")
?? "X_HttpClient";
or
public static readonly string HttpClientName2 =
_config.GetValue("HttpClientBasicConfig:HttpClientName")
?? "X_HttpClient";
...
Таким образом, я могу использовать его как MagicStrings.httpclientName во всем приложении

Подробнее здесь: https://stackoverflow.com/questions/794 ... -dependenc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»