在我的Web应用程序(c#+ asp.net)中,当我尝试使用" ConfigurationManager"来获取值时,我可以在配置文件(install.properties)上使用我的新值。
String pathJava = ConfigurationManager.AppSettings["FilePathJava"];
我的install.properties
中有这个<add key="FilePathJava" value="C:\Program Files\Java\jre7\bin\java.exe"></add>
我骑着我可以这样做来刷新值:
ConfigurationManager.RefreshSection("appSettings");
我也这样做了:
ConfigurationManager.OpenMachineConfiguration()
但价值不会改变。
我还尝试添加一个新密钥,但ConfigurationManager返回一个空值。
答案 0 :(得分:0)
你有潜在的问题......
如果更改Web.config
中的任何值,则在网站运行时,它将重置网站。对此文件的任何修改都会导致IIS重置。
在不重置网站的情况下,您想要的解决方案是将应用程序设置完全移出Web.config
:
<?xml version="1.0"?>
<configuration>
<appSettings configSource="appSettings.config"/>
</configuration>
现在将您的appSettings放在appSettings.config
文件中:
<?xml version="1.0"?>
<appSettings>
<add key="FilePathJava" value="C:\Program Files\Java\jre7\bin\java.exe"/>
</appSettings>
现在,您仍然可以使用ConfigurationManager.AppSettings["FilePathJava"]
,您的ConfigurationManager.RefreshSection("appSettings")
也可以正常使用。