использование внешнего файла конфигурации для службы Windows .NET - PullRequest
0 голосов
/ 18 октября 2010

У меня есть файл app.config для службы Windows, который включает строки подключения к базе данных и настройки приложений. Когда я устанавливаю службу Windows, она устанавливается в папку «C: \ program files \», а настройки копируются в файл с именем «.exe.config» в той же папке, что затрудняет изменение настроек после нее. развернут в тестовой среде. можно ли сохранить все настройки во внешнем файле на общем сетевом диске, а не в той же папке, где установлена ​​служба? это возможно? Единственная альтернатива, о которой я могу подумать, - это создать XML-файл и прочитать его с помощью API .NET XML. Другая проблема заключается в том, что мне нужно следить за изменениями в файле и перезагружать параметры в службе.

Ответы [ 3 ]

2 голосов
/ 18 октября 2010

Вы можете вытолкнуть некоторые из ваших настроек конфигурации из основного конфигурационного файла, например:

<connectionStrings configSource="connectionStrings.config" />

И:

<?xml version="1.0" encoding="UTF-8"?>
<connectionStrings>

</connectionString>

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

2 голосов
/ 18 октября 2010

Linq to XML упрощает чтение внешнего файла настроек.Вы также можете использовать FileSystemWatcher для отслеживания изменений в файле настроек.

0 голосов
/ 17 декабря 2010
...