修改Web.config的appSettings配置导致所有页面重编译
在修改配置文件Web.config时,因为所有页面都会重新编译,会导致短暂的服务中断。这里有一个方法可以避免:
将常用且有可能发生改变的配置都放在appSetting节中,如:
<appSettings>
<add key="SMTPServerAddress" value="0.0.0.0"/>
</appSettings>
<add key="SMTPServerAddress" value="0.0.0.0"/>
</appSettings>
Web.config中appSettings节有个属性:configSource,这个属性可以指定一个存储appSettings的外部文件路径(只支持相对路径),而这个外部文件的修改是不会引起页面的重新编译的,同时它的改动也能立即被ASP.NET运行库检测到。可谓一举两得。
Web.config中的appSettings的配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings configSource="Settings\WebAppSettings.config" />
</configuration>
<configuration>
<appSettings configSource="Settings\WebAppSettings.config" />
</configuration>
外部文件Settings\WebAppSettings.config的内容:
<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<add key="SMTPServerAddress" value="0.0.0.0"/>
</appSettings>
<appSettings>
<add key="SMTPServerAddress" value="0.0.0.0"/>
</appSettings>
*注1、Web.config配置文件