@lucky4

Почему компилятор не может прочитать значения из appsettings?

Есть структура json, такой структуры:
"VendorConfigs": [
      {
        "IntegrationServiceId": IdNumber,

        "VendorUrl": "#url#",
        "VendorClientKey": "#key#",
        "VendorClientSecret": "#secret#",
      }
    ]

*Свойство файла json -> "Copy always"

И вот код, который вычитывает значения(по крайней мере должен):
var asd = config.VendorConfigs.Where(x => x.IntegrationServiceId == vendorId);
            authCreds = Convert.ToBase64String(Encoding.Default.GetBytes($"{asd.Select(x=>x.VendorClientKey)}:{asd.Select(x => x.VendorClientSecret)}"));


Что интерестно в таком варианте, переменная asd - пустая. И я когда делаю Select => получаю соотвественно null.

А вот, как по мне, плохой вариант(но рабочий):
for (int i = 0; i < config.VendorConfigs.Count; i++)
            {
                if (config.VendorConfigs[i].IntegrationServiceId == vendorId)
                { 
                    authCreds = Convert.ToBase64String(Encoding.Default.GetBytes($"{config.VendorConfigs[i].VendorClientKey}:{config.VendorConfigs[i].VendorClientSecret}"));
                }
            }


Вопрос, почему такое поведения? И как отказаться от второго варинта, что бы 1й был рабочим?
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C#
Видимо нужно вот так:
var asd = config.VendorConfigs.Where(x => x.IntegrationServiceId == vendorId).First();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы