[英]update app.config file at runtime
我正在尝试在运行时更新app.config文件。 我得到错误
System.NullReferenceException:对象引用未设置为对象的实例。 第59行。
我想做的是在运行时更改URL,方法是使用一个弹出表单,其中包含一个用于URL的文本框,然后将其用于更新配置文件。
public void changeSettings()
{
Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
KeyValueConfigurationCollection settings = config.AppSettings.Settings;
try
{
Console.WriteLine("nothing " + ConfigurationManager.AppSettings["client_postCodeRef_Service"]);
settings["client_postCodeRef_Service"].Value = textBox1.Text; <- line 59
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("applicationSettings");
Console.WriteLine("nothing 2 " + ConfigurationManager.AppSettings["client_postCodeRef_Service"]);
}
catch (ConfigurationErrorsException e)
{
MessageBox.Show("[Exception error: {0}]",
e.ToString());
}
}
这是配置文件
<applicationSettings >
<Client.Properties.Settings>
<setting name="client_postCodeRef_Service" serializeAs="String">
<value>http://127.0.0.1/directory/directory/webService.asmx</value>
</setting>
</Client.Properties.Settings>
</applicationSettings>
您正在使用applicationSettings
而不是appSettings
。
这两个是配置文件的不同部分。
要在applicationSettings
使用条目,请使用以下语法:
string result = Client.Properties.Settings.Default.client_postCodeRef_Service;
还请注意,您无法轻松地从程序内部更改applicationSetting条目的值。
有关applicationSettings和AppSettings优缺点的详细讨论,请参见此处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.