如何解决如何编辑app.config并使代码读取更改后的值而无需重新编译?
我有几个存储库,要访问的存储库写在app.config中。
<appSettings>
<add key="AccessRepository" value="Local"/>
</appSettings>
我的想法是,管理员将编写(使用文本编辑器之一)访问哪个存储库可以是本地或远程回购。我将“构建操作”和“复制到输出目录”的值分别设置为“内容”和“始终复制”。我认为,如果使用记事本更改输出目录中App.config的AccessRepository
的值,我可以实现此目标。但是,如果我使用记事本将AccessRepository
的值更改为remote,我的应用程序仍将访问本地存储库。我用来检索AccessRepositroy
值的代码是这样的:
string accessRepository = ConfigurationManager.AppSettings["AccessRepository"];
if (accessRepository == "Local")
{
//Logic to access local repo
}
else if(accessRepository == "Remote")
{
//Logic to access remote repo
}
所以我需要写AccessRepository
的值,然后重新编译我的应用程序以访问另一个存储库。
我尝试过这种方法,但是不起作用:
ConfigurationManager.RefreshSection("appSettings");
string accessRepository = ConfigurationManager.AppSettings["AccessRepository"];
如何在不重新编译的情况下使应用程序使用最后写入的值?我要实现的操作是您在用App.config编写的文本编辑器和应用程序访问存储库中编辑AccessRepository
的值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。