c # приложение и настройки конфигурации - PullRequest
0 голосов
/ 11 июня 2010

Я никогда раньше не использовал Settings класс, но я нашел несколько статей о CodeProject, которые я сейчас читаю (например, http://www.codeproject.com/KB/cs/PropertiesSettings.aspx), но до сих пор я не видел, как сохранить массив string для получения это после запуска приложения в следующий раз.

Например, у моего приложения есть несколько экземпляров FileSystemWatcher, с каждым из которых подключены несколько других каталогов (например, один экземпляр FSW отслеживает один каталог на предмет изменений, и когда это происходит, он копирует какой-то файл в несколько других каталогов), поэтому У меня был бы один массив string с отслеживаемыми путями, представляющими экземпляры FSW, и массив string для каждого из этих путей, представляющих каталоги, на которые влияют.

У меня вопрос: что я должен использовать (Settings класс или что-то еще), и как я должен использовать это для хранения конфигурации приложения, которая является переменным числом string массивов? Акцент делается на том, что я мог бы использовать очень скоро, так как у меня не так много времени, чтобы создать собственный класс (но пришлось бы, если бы я не мог найти решение) или покопаться в каких-то непонятных хакерах. Любая учебная ссылка, фрагмент кода будет очень полезным.

Спасибо.

1 Ответ

1 голос
/ 11 июня 2010

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

Хотя, если вы хотите простой легкий взлом и не хотите возиться с CustomКонфиг Разделы / Элементы / Коллекции.Просто используйте быстрый и легкий взлом AppSettings.XD

<appSettings>
    <add key="ConnectionInfo0" value="server=(local);database=Northwind;Integrated Security=SSPI" />
    <add key="ConnectionInfo1" value="server=(local);database=Northwind;Integrated Security=SSPI" />
    <add key="ConnectionInfo2" value="server=(local);database=Northwind;Integrated Security=SSPI" />
</appSettings>

Получение из кода.

const string CONNECTIONSTRING="";
int i = 0;
while(ConfigurationSettings.AppSettings["ConnectionInfo"] + i != null)
{
    // do stuff with connection info here
    // use
    ConfigurationSettings.AppSettings["ConnectionInfo" + i];
    // to get data.
    ++i;
}

Чуть безобразно, я знаю.Custom Config работает лучше всего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...