Я создаю клиентское серверное приложение, используя форму окна. Вся конфигурация приложения сохраняется в таблице базы данных с именем «Конфигурация», и есть интерфейс для изменения ее значения. В транзакции используются некоторые записи в таблице конфигурации, например «Активация журнала». Если это значение Активации журнала истинно, то при сохранении транзакции он создаст файл журнала.Глобальная конфигурация в Windows Forms
Итак, каждый раз, когда я сохранял транзакцию, я всегда читал конфигурацию активации журнала для базы данных, чтобы получить ее значение. В моем случае я не только читаю 1 конфигурацию, но могу читать 1 или более конфигурацию. Моя забота о том, что будет много рейсов в оба конца, чтобы получить значения каждой конфигурации, и это плохой дизайн в архитектуре клиент-сервер.
Затем я попытался использовать файл настроек, но этот подход не подходит для моего приложения, потому что я разрабатываю клиент-серверное приложение с использованием Windows Form. Каждый раз, когда я обновлял значение в файле настроек, он затрагивался только на этом компьютере, а другие - нет.
Итак, что является лучшим решением для решения этой проблемы, а не для чтения непосредственно в базе данных в каждой транзакции?
Мне нравится, например, что используется StoreSettings? и о недостатке, вы имеете в виду, что приложение, открытое в клиентах, должно быть повторно открыто? есть ли какой-либо трюк, чтобы сделать это гибким, потому что есть много клиентов, и это будет моей дополнительной работой, чтобы сообщить и убедиться, что все клиенты перезапускают – Willy
'StoreSettings' будет методом, который вы реализуете, чтобы сохранить настройки в базе данных. По недостатку я имею в виду, что если вы только читаете настройки при запуске приложения, конечно, нет способа узнать, изменились ли настройки вообще. Один из способов распространения новых параметров без перезапуска клиента - значит, чтобы класс 'Configuration' перечитывал настройки в заданные интервалы, например каждые 15 минут, чтобы не мешать запущенным транзакциям. –