我有像这样的app.config文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appsettings>
<add key="ServiceName" value="MyService1" />
<add key="URL" value="https://mydomain.com/test/main.asmx" />
...
</appsettings>
</configuration>
=============================================== ==================
现在我需要从应用程序做什么,我需要在一些特殊的UI事件中将代理设置添加到配置文件。
因此,app.config文件将如下所示 -
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appsettings>
<add key="ServiceName" value="MyService1" />
<add key="URL" value="https://mydomain.com/test/main.asmx" />
...
</appsettings>
<system.net>
<defaultproxy>
<proxy scriptlocation ="https://mysecuredomain.com/conf/proxy.pac" />
</defaultproxy>
</system.net>
</configuration>
我们将不胜感激。
由于
答案 0 :(得分:1)
可以像这样以编程方式修改App.config:
如果您想添加新密钥,请使用:
private void ModifyConfig(string key, string value)
{
// Open App.Config of executable
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Add an Application Setting.
config.AppSettings.Settings.Add(key, value);
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified, true);
// Force a reload of a changed section.
ConfigurationManager.RefreshSection("appSettings");
}
如果您想更新现有密钥,请使用:
private void UpdateConfig(string key, string value)
{
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings[key].Value = value;
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("appSettings");
}
其他部分可以用类似的方式修改。
我找到了一个很好的链接,它将指导您,如何更新自定义部分。
Update AppSettings and custom configuration sections in App.config at runtime
答案 1 :(得分:0)
据我了解,您需要能够动态更改“scriptlocation”值。
在您的原始(项目源代码版本)中,您有令牌而不是实际的脚本位置URL地址。例如:
而不是:<proxy scriptlocation ="https://mysecuredomain.com/conf/proxy.pac" />
您应该使用:<proxy scriptlocation ="[ScriptLocationProxy]" />
其中[ScriptLocationProxy]是稍后将以实际方式更改的标记。在部署脚本中,查找此标记并替换它们(简单的字符串替换)。
希望有所帮助