2014-08-20 3 views
2

У меня есть два проекта: в основном это служба Windows, а вторая - классный проект, в котором я занимаюсь обработкой бизнеса. Мой файл App.config в проекте службы Windows, и в моем проекте класса я использую нижеConfigurationManager.RefreshSection не работает в службе C# windows

ConfigurationManager.RefreshSection("appsettings");   
string scheduledTime = ConfigurationManager.AppSettings["ScheduleTime"]; 

этот параметр находится в моем AppSettings разделе конфигурационного файла

Я использую RefreshSection, а также обновление моего приложения. config в проекте службы Windows, но не обновляется во время выполнения моего проекта класса.

Какая уловка в этом?

ответ

1

У меня немного проблемы с чем-то похожим, однако я нашел что-то для AppSettings. Дайте этот выстрел:

ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name); 

Я думаю AppSettings должно быть приложение S ettings

+1

На самом деле это сделало трюк для меня. Проблема заключалась в том, что мне нужно было вывести конфигурацию для внешней DLL по имени. Тот был кэширован, а вызов по умолчанию не удался. После вызова его через имя он работает как шарм. Благодаря! – Molecool

0

Если вы хотите, чтобы получить последнюю версию использовать значение этого кода:

var appSettings = ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetEntryAssembly().Location).AppSettings; 
var mySetting = appSettings.Settings["keyOfSetting"].Value; 

помнить каждый раз, когда вам нужно последнее значение, должно использовать две строки кода в одном месте!

Смежные вопросы