Asp.net下web.config或是bin中的dll有变更后,重启的问题
asp.net会监测站点的web.config以及dll,如果这些文件有变更,会导致程序重启,这也是为了保证程序信息的安全性;那么有没有什么办法可以让它不重启呢,答案是肯定的。
为了防止程序重启,需要修改machine.config文件,machine.config文件默认在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG目录下
<section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="true" requirePermission="false" />
将restartOnExternalChanges设为false,程序就不会重启了。
如果仅仅是想解决修改web.config中appSettings配置节内容导致重启的情况,可以使用以下方法:
将appSettings配置节的内容独立成一个单独的配置文件,比如AppSetting.config文件
<?xml version="1.0"?> <appSettings> <add key="SiteTitle" value="XXX网站" /> <add key="AllowImgExt" value=".jpg|.bmp|.png|.gif" /> </appSettings>
然后在web.config中对appSettings做一个配置源关联即可
<?xml version="1.0"?> <configuration> <appSettings configSource="config\AppSettings.config"></appSettings> <!--其它内容省略,需注意configSource里面的路径只能填写相对路径--> </configuration>