我们知道IIS缓存ConfigurationManager.AppSettings,所以它只读取磁盘一次,直到web.config更改。这是为了性能目的。
有人在:
http://forums.asp.net/p/1080926/1598469.aspx#1598469
.NET Framework不会对app.config执行相同的操作,但它对于每个请求从磁盘读取。但我觉得很难相信,因为它会更慢。请告诉我他错了,或者我将不得不修复我写的每个控制台/ Windows窗体/ Windows服务。
解决方法
快速测试似乎表明这些设置只在应用程序启动时加载。
//edit the config file now. Console.ReadLine(); Console.WriteLine(ConfigurationManager.AppSettings["ApplicationName"].ToString()); Console.WriteLine("Press enter to redisplay"); //edit the config file again now. Console.ReadLine(); Console.WriteLine(ConfigurationManager.AppSettings["ApplicationName"].ToString()); Console.ReadLine();
您将看到所有输出保持不变。