在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)

原文: 在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)

我们都知道,在asp.net中修改了配置文件web.config后,会导致应用程序重启,所有 会话(session)丢失。然而,应用程序的配置信息放在配置文件里是最佳选择,在后台修改了配置后导致所有会话丢失是非常不爽的事情,这个时候可将配 置文件中经常需要改变的参数配置节 放到外面来,例如appSetting节。

一、原来的web.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="CacheTimeInfo" value="30" />
    <add key="CacheTimeNews" value="10" />
    <add key="CacheTimeProduct" value="60" />
    <add key="CacheTimeTrade" value="5" />
    <add key="SiteName" value="中国叉叉网"/>
    <add key="SiteDomain" value="chinaxx.com"/>
  </appSettings>
  <connectionStrings/>
  <system.web>
    <compilation debug="false">
    </compilation>
    <authentication mode="Windows" />
  </system.web>
</configuration>

二(1/2)、现在的web.config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings configSource ="Config/AppSettings.config" />
<connectionStrings/>
  <system.web>
    <compilation debug="false">
    </compilation>
    <authentication mode="Windows" />
  </system.web>
</configuration>

二(2/2)、现在的Config目录下的AppSettings.config文件

<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<add key="CacheTimeInfo" value="30" />
<add key="CacheTimeNews" value="10" />
<add key="CacheTimeProduct" value="60" />
<add key="CacheTimeTrade" value="5" />
<add key="SiteName" value="中国叉叉网"/>
<add key="SiteDomain" value="chinaxx.com"/>
</appSettings>

这样在程序中修改Config/AppSettings.config文件,就不会导致重启了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。