Журнал изменений конфигурации в ASP.NET Core 2 - PullRequest
0 голосов
/ 28 августа 2018

Я хочу войти в систему при изменении конфигурации.

Я делаю это в Program.cs или Startup.cs:

ChangeToken.OnChange(
  () => configuration.GetReloadToken(),
  state => logger.Information("Configuration reloaded"),
  (object)null
);

Но я получаю двойные отчеты об изменениях, поэтому их нужно обсудить. Совет сделать это :

ChangeToken.OnChange(
  () => configuration.GetReloadToken(),
  state => { Thread.Sleep(2000); logger.Information("Configuration reloaded"); },
  (object)null
);

Я использую 2000 здесь, поскольку я не уверен, что является разумным значением.

Я обнаружил, что иногда я все еще получаю несколько обнаружений изменений, разделенных 2000 миллисекундами. Таким образом, отмена не работает для меня, просто вызывает задержку между зарегистрированными изменениями. Если я установлю высокое значение, то получу только один отчет, но он не идеален (и скрывает проблему).

Итак, я хотел бы знать:

  • Действительно ли это мешает или просто ставит в очередь зарегистрированные изменения?
  • Я использовал значения от 1000 до 5000 с переменным успехом. Что другие используют?
  • Выдается ли сон основному потоку сервера? Я надеюсь, что нет!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...