Size: a a a

var chat = new Chat();

2021 July 03

AW

Andrew Witwicki in var chat = new Chat();
я кстати подумал что в случае с daily можно просто вернуть .date
источник

D

Dmitry in var chat = new Chat();
зачем так сложно?
date.Date
источник

D

Dmitry in var chat = new Chat();
стандартный дататайм умеет
источник

AW

Andrew Witwicki in var chat = new Chat();
да, просто чтото я перестарался
источник

D

Dmitry in var chat = new Chat();
когда минуты обрезать - то да.
источник

AW

Andrew Witwicki in var chat = new Chat();
буду то расширять на несколько вариантов для пикера
источник

AW

Andrew Witwicki in var chat = new Chat();
в будущем
источник

VL

Vova Lantsov in var chat = new Chat();
Смотря что тебе нужно. Можно просто получить актуальное значение, там свойство CurrentValue или что-то такое. OnChange это когда нужно чтобы тебя событие оповещало об изменении.
Просто принимаешь IOptionsMonitor из конструктора, и можешь его так и записать, как ридонли, пофиг
источник

IV

Ihor Volokhovych in var chat = new Chat();
Критично важно, чтобы отрабатывал callback при изменении данных в конфиге. В текущем случае такого автоматически не происходит и в singleton сервисах IOptionsMonitor оставляет свое значение т.к. присваивается лишь раз в конструкторе. Непонятно почему, но после этого под капотом коллбек не изменяет старые данные на новые. С . OnChange такого не происходит и можно перетереть данные
источник

VL

Vova Lantsov in var chat = new Chat();
1 вызов CurrentValue == 1 данные.
Чтобы они изменились - нужно вызвать повторно
источник

VL

Vova Lantsov in var chat = new Chat();
Поэтому и сделали метод OnChange
источник

VL

Vova Lantsov in var chat = new Chat();
Тебе не нужно в конструкторе "распаковывать" значение, так и храни тип IOptionsMonitor и в случае изменения данных повторно дёргай CurrentValue
источник

IV

Ihor Volokhovych in var chat = new Chat();
Скорее всего проблема в методе бинда самих опций:
reloadOnChange just updates the IConfiguration object.

If we use options pattern using Bind or Get, as explained in previous post, to populate the strongly typed object, then the strongly typed object would not be updated with new values.

This is because reading from IConfiguration only happens when you call Bind or Get. After this call, if the configuration changes, the strongly typed object would never know about it.
источник

IV

Ihor Volokhovych in var chat = new Chat();
Попробую кое-что сделаю. Маякну тебе о результате
источник

VL

Vova Lantsov in var chat = new Chat();
Ну и да, чтобы оно работало, регай конфиг через IConfiguration

services.Configure<MyOptions>(Configuration.GetSection(...));
источник

VL

Vova Lantsov in var chat = new Chat();
Никаких Bind
источник

VL

Vova Lantsov in var chat = new Chat();
И никаких делегатов
источник

AW

Andrew Witwicki in var chat = new Chat();
чтот мне не нравится двойной селект, но по идее нет приведения к типу, тоесть это все одна квери и по идее не страшно? или как?
источник

Ɖ

Ɖrēw in var chat = new Chat();
Не страшно абсолютно
источник

AW

Andrew Witwicki in var chat = new Chat();
тогда просто некрасиво
источник