У меня есть этот файл конфигурации:Конфигурационный файл для C# Windows службы
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="AuxAppStg0" value="5 iunie 2013 19:22:49" />
<add key="AuxAppStg1" value="5 iunie 2013 00:00:00" />
<add key="AppStg2" value="5 iunie 2013 19:23:04" />
</appSettings>
</configuration>
И я хочу, чтобы разобрать его, используя этот код:
// Get the configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Get the appSettings section.
System.Configuration.AppSettingsSection appSettings =
(System.Configuration.AppSettingsSection)config.GetSection("appSettings");
foreach (KeyValueConfigurationElement i in appSettings.Settings)
{
Console.WriteLine("Key: {0} Value: {1}", i.Key, i.Value);
}
if (appSettings.Settings.Count != 0)
{
foreach (string key in appSettings.Settings.AllKeys)
{
string value = appSettings.Settings[key].Value;
Console.WriteLine("Key: {0} Value: {1}", key, value);
}
}
else
{
Console.WriteLine("The appSettings section is empty. Write first.");
}
и все, что я получаю: Раздел AppSettings является пустой. Напишите сначала. Я нашел это here. Что я делаю неправильно? Я хочу сделать файл конфигурации для службы windows C#, чтобы читать при запуске, является ли это хорошим подходом, а другие лучше подходят?
Что такое имя файла .config? Это должно быть имя исполняемого файла службы .config в конце, поэтому 'MyWindowsService.exe' должен быть' MyWindowsService.exe.config'. Он также должен быть в том же каталоге, что и ваш исполняемый файл службы. Вам также необходимо перезапустить службу Windows, чтобы она могла получить изменения в файле. – vcsjones
Почему вы не используете ConfigurationManager.AppSettings? –
@ matt-dot-net Хороший улов, +1 для этого. – vcsjones