2010-10-14 3 views
2

Мне интересно, сколько времени потребуется (в миллисекундах), чтобы прочитать значение реестра из реестра Windows через стандартные библиотеки C#. В этом случае я читаю некоторые настройки прокси.Выполнение чтения раздела реестра?

Какой порядок величины следует ожидать? Есть ли хорошие контрольные данные?

Я запускаю WS2k8 R2 amd64. Бонусные баллы: Насколько эффективна ОС-версия/версия ОС на этом мероприятии?

using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software/Copium")) 
{ 
     return (string)registryKey.GetValue("BinDir"); 
} 

ответ

2

Попробуйте эту ссылку, это довольно полезно блог: http://blogs.msdn.com/b/oldnewthing/archive/2006/02/22/536920.aspx

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

+0

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

+0

Как я уже сказал, он должен получить настройки прокси-сервера ОС. это не дизайн. – Kenn

3

Я не могу приводить числа, как я не знаю. Но, прочитав только 30 страниц в книге Windows Internals 5 о реестре, стали очевидны следующие примечательные вещи, которые я не знал.

  • Реестр является транзакционным и имеет сейфы, чтобы предотвратить повреждение. Это может повлиять на производительность. Поскольку транзакционный уровень считается прочитанным, чтение не должно блокироваться путем записи, поэтому они должны быть выполнены.

  • Реестр кэшируется в памяти (так же часто используются значения в любом случае), поэтому при доступе к набору ключей часто производительность должна оставаться стабильной после первого удара.

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