app.config для службы Windows не работает «на лету»

#configuration #windows-services

#конфигурация #windows-services

Вопрос:

Я написал программу-службу Windows, скажем myService.exe и у него есть файл MyService.exe.config. Но, похоже, изменения в app.config не отображаются службой до перезапуска службы. Итак, это задумано? Или как я мог бы сделать так, чтобы моя служба всегда учитывала изменение файла конфигурации без перезапуска?

Спасибо!

Ответ №1:

Это сделано специально, оно работает не так, как файл web.config.

Вы можете использовать объект FileSystemWatcher для отслеживания изменений в файле конфигурации и предпринять соответствующие действия, если файл изменяется.

Ответ №2:

Да, любая .Приложение NET console / Winforms / Windows Service при запуске считывает соответствующий конфигурационный файл и кэширует его содержимое. Изменение этого параметра во время работы приложения обычно не приводит к изменению запущенного приложения.

Если вам нужна такая функция, вам придется реализовать ее самостоятельно — например, заставить приложение периодически перепроверять конфигурацию или отвечать на событие файловой системы-наблюдателя, что файл изменился.

Комментарии:

1. Спасибо marc_s. Ваш ответ также правильный. Поскольку ваши 118 тыс. кредитов намного больше, чем 16,5 тыс. у Binary Worrier, я хотел бы отметить его ответ. 🙂