2016-12-05 9 views
0

Я пишу приложение Windows на C#.
Приложение, которое при вызове выводит данные на принтер и COM-порт. Он должен быть невидимым для пользователя, поэтому у меня есть отдельное приложение для настройки параметров принтера и com-порта, которые приложение читает каждый раз при запуске. Приложение запускается в течение нескольких секунд, а затем закрывается, пока оно не будет выполнено снова, которое будет периодически проходить каждые несколько минут. Поэтому, если я не буду жестко кодировать параметры принтера и com-порта, я думаю, мне нужно, чтобы они читались каждый раз, когда приложение запускается.Должен ли я использовать ini или реестр для хранения параметров для приложения в C# для Windows 7

Так что это быстрее читать, ini, XML, или registry/local machine? Скорость - мой главный решающий фактор.

Есть ли другой способ переменных между выполнением? В Linux я могу использовать переменные среды, является ли это возможным вариантом в Windows? Thanks

+1

Что с использованием настроек? – Plutonix

+0

Если вы имеете в виду AppSettings, я не знаю много об этом. Я предполагал, что он работает как файл ini, и каждый раз, когда приложение запускается, ему нужно будет открыть файл и прочитать настройки. Я бы хотел использовать самый быстрый способ для хранения и чтения переменных конфигурации. –

+0

'Я мало что знаю об этом, проблема легко устранена, потратив несколько минут на MSDN – Plutonix

ответ

1

Как насчет использования AppSetting?

Это будет читать запись <appsettings>, которую вы можете поместить в .config для проекта или в файл machine.config в папке Microsoft .NET на компьютере.

Тогда в коде Вы можете просто указать ConfigurationManager.AppSettings["printer"] где угодно. Вы можете редактировать appsetting в любое время.

Предупреждаю, однако, будьте очень осторожны, когда возитесь с machine.config, вы можете испортить свой компьютер или среду, если используете неправильный синтаксис или забыли закрыть /> По этой причине я настоятельно рекомендую использовать .config вашего проекта.

Проверить это link для получения дополнительной информации