Size: a a a

var chat = new Chat();

2021 January 29

H

Highton in var chat = new Chat();
Lars Ulrich
Я счас с ума сойду, помогите. Есть жсон конфиг
{
 "Syncer": {    
   "Server": "localhost",
   "Database": "default",
   "TableName": "sync",
   "User": "default"
 },
 "Logging": {
   "LogLevel": {
     "Default": "Debug",
     "System": "Debug",
     "Microsoft": "Debug"
   }
 }
}

на скрине он же в дебаге распаршен. но configuration.GetSection("Syncer") ничего не находит.
если через configuration.GetSection("Syncer") делать, то нужно через : указать что хочешь получить. configuration.GetSection("Syncer:Server") - например
источник

LU

Lars Ulrich in var chat = new Chat();
Так я там объект хочу заварить целый для ioptions<t>
источник

H

Highton in var chat = new Chat();
Lars Ulrich
Так я там объект хочу заварить целый для ioptions<t>
попробуй ещё раз обьяснить что ты хочешь сделать, как ты это делаешь, и что именно у тебя не получается
источник

LU

Lars Ulrich in var chat = new Chat();
Highton
попробуй ещё раз обьяснить что ты хочешь сделать, как ты это делаешь, и что именно у тебя не получается
Ок, чуть позже
источник

LU

Lars Ulrich in var chat = new Chat();
Итак, еще раз. Вот конфиг.
{
 "Syncer": {    
   "Server": "localhost",
   "Database": "default",
   "TableName": "sync",
   "User": "default"
 },
 "Logging": {
   "LogLevel": {
     "Default": "Debug",
     "System": "Debug",
     "Microsoft": "Debug"
   }
 }
}
источник

LU

Lars Ulrich in var chat = new Chat();
Вот класс, который я использую для IOptions:
 public class DataSyncerConfig 
   {
       public string Exchange { get; set; }
       public string Server { get; set; }
       public string Database { get; set; }
       public string TableName { get; set; }
       public string User { get; set; }
       public string Password { get; set; }  
   }
источник

LU

Lars Ulrich in var chat = new Chat();
вот код, которым эти IOptions<DataSyncerConfig> добавляются
    var builder = new ConfigurationBuilder()
               .AddJsonFile("appconfig.json", optional: true, reloadOnChange: true);
       
           
           var configuration = builder.Build();

var serviceCollection = new ServiceCollection();
           serviceCollection.AddOptions();
           serviceCollection.Configure<DataSyncerConfig>(configuration.GetSection("Syncer"));
           serviceCollection.BuildServiceProvider();      
           CreateHostBuilder(args).Build().Run();
источник

LU

Lars Ulrich in var chat = new Chat();
вся проблема в том, что если посмотреть значения конфига в дебаге, то все там есть, он читается. Но вот если забирать секцию - она пустая, что Logging что Syncer
источник

LU

Lars Ulrich in var chat = new Chat();
не, ну реально, что за пиздец.
configuration.GetSection("Syncer")
{Microsoft.Extensions.Configuration.ConfigurationSection}
   Key: "Syncer"
   Path: "Syncer"
   Value: null
   _key: "Syncer"
   _path: "Syncer"
   _root: {Microsoft.Extensions.Configuration.ConfigurationRoot}
configuration.GetSection("Syncer:User")
{Microsoft.Extensions.Configuration.ConfigurationSection}
   Key: "User"
   Path: "Syncer:User"
   Value: "default"
   _key: "User"
   _path: "Syncer:User"
   _root: {Microsoft.Extensions.Configuration.ConfigurationRoot}
почему оно не выдает существующую подсекцию?
источник
2021 January 30

JS

John Stellmann in var chat = new Chat();
public static TConfig GetFromSection<TConfig>(this IConfiguration config, string section) where TConfig : new()
{
   var cfg = new TConfig();
   config.GetSection(section).Bind(cfg);

   return cfg;
}
источник

JS

John Stellmann in var chat = new Chat();
Где TConfig твой DataSyncerConfig
источник

JS

John Stellmann in var chat = new Chat();
Либо Logging
источник

E

Etki in var chat = new Chat();
Одинокий красноглазик в чате. У кого-нибудь была проблема с тем что сертификаты от майкрософта отваливаются из-за какого-то факапа с СА? Мне сейчас и curl, и браузер дают отлуп при попытке запросить developercommunity.visualstudio.com, я понимаю, что у меня видимо не стоит сертификат от СА, а как его поставить человеческим (а не ручным) способом - нихера не понятно.

Манжаро, ответвление Арча (да, я выебщик).
источник

VL

Vova Lantsov in var chat = new Chat();
Etki
Одинокий красноглазик в чате. У кого-нибудь была проблема с тем что сертификаты от майкрософта отваливаются из-за какого-то факапа с СА? Мне сейчас и curl, и браузер дают отлуп при попытке запросить developercommunity.visualstudio.com, я понимаю, что у меня видимо не стоит сертификат от СА, а как его поставить человеческим (а не ручным) способом - нихера не понятно.

Манжаро, ответвление Арча (да, я выебщик).
А какой именно серт стоит - не показывает?
источник

VL

Vova Lantsov in var chat = new Chat();
У меня вот такой показывает
источник

VL

Vova Lantsov in var chat = new Chat();
Хром браузер
источник

E

Etki in var chat = new Chat();
да, это он. проблема именно в том что цепочка локально не подтверждается.
источник

E

Etki in var chat = new Chat();
т.е. CA почему-то нету
источник

VL

Vova Lantsov in var chat = new Chat();
Интересно, ну я знаю что под убунту есть ca-certificates пакет, я могу предположить что тебе похожий нужно установить
источник

V

VD in var chat = new Chat();
Etki
да, это он. проблема именно в том что цепочка локально не подтверждается.
Попробуй гуглануть
install trusted certificate manjaro
источник