Как Вы перезапускаете приложение/перечитывать app.config файл когда измененный (.NET)?

Лично я не пробовал этого после выпуска флаттера в стабильном канале, но вы могли просто сохранить информацию пользователя, полученную из токенов аутентификации.

Также взгляните на это: https://medium.com/flutterpub/flutter-how-to-do-user-login-with-firebase-a6af760b14d5

5
задан cruizer 22 January 2009 в 10:10
поделиться

7 ответов

Вероятно, нужен FileSystemWatcher, чтобы контролировать файл и обработать соответствующее событие. Система. Конфигурация. Класс ConfigManager мог бы иметь соответствующие методы для перезагрузки (вызов метода или некоторые такой). У меня нет VS передо мной, но я сказал бы, что существуют определенно некоторые рычаги там наверняка.

6
ответ дан 18 December 2019 в 09:54
поделиться

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

Используйте ConfigurationManager. RefreshSection для обновления его от диска, не перезапуская приложение.

5
ответ дан 18 December 2019 в 09:54
поделиться

Существует хороший раздел по фактическому выполнению перезагрузки данных здесь. Объединение, что с FileSystemWatcher, как предложено DarkwingDuck, и можно быть на победителя.

2
ответ дан 18 December 2019 в 09:54
поделиться

Создайте FileSystemWatcher и слушайте изменения в конфигурационном файле.
При инициировании используйте следующий код:

MyGeneratedSettingsFile.Default.Reload();
2
ответ дан 18 December 2019 в 09:54
поделиться

log4net имеет опцию обнаружения внешних изменений в *.config файле. И поскольку все остальные уже сказали, что это сделано при помощи FileSystemWatcher, который установлен прислушаться к изменениям в Вашем *.config файле.

Нижняя строка; FileSystemWatcher является способом пойти.

1
ответ дан 18 December 2019 в 09:54
поделиться

Существует более широкая импликация простой перезагрузки конфигурационного файла, хотя, и именно так остальная часть приложения должна реагировать на это.

Например, Вы могли бы настроить свои слои контекста базы данных для SQL Server после чтения из конфигурации, что Вы собираетесь говорить с SQL Server и полученный строка подключения для него.

Однако, что, если пользователь изменяет это впоследствии и указывает базу данных Oracle вместо этого? Не будет достаточно просто перезагрузить конфигурационный файл, необходимо смочь сказать остальной части приложения, что что-то изменилось также.

Я сказал бы, что необходимо абстрагировать далеко часть конфигурации в новом классе, который имеет события. После того как Вы решаете перезагрузить конфигурацию, этот класс должен выяснить внутренне, какие измененные настройки и запускают соответствующие события.

При использовании контейнера МОК Вы, возможно, должны были бы повторно соединить некоторые проводом его зависимости из-за новых настроек.

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

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

1
ответ дан 18 December 2019 в 09:54
поделиться

Если Вы используете Платформу.NET 2, и Вы используете пользовательские настройки объема, это довольно прозрачно. После того, как Вы изменяете настройки, просто называют Сохранение (), метод и новые настройки сразу доступны

Например,

My.Settings.UpdateInterval = 10
My.Settings.Save()

Если установка является областью действия приложения затем, FileSystemWatcher мог бы быть способом пойти

0
ответ дан 18 December 2019 в 09:54
поделиться
Другие вопросы по тегам:

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