在Web.Config文件中使用configSource

 

在Web.Config文件中使用configSource

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

一、原来的web.config文件:

View Code
1 <?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" /> 
2  <add key="SiteDomain" value="chinaxx.com"/>    </appSettings>   <connectionStrings/>   <system.web>     <compilation debug="false">     </compilation>     <authentication mode="Windows" />   </system.web> </configuration>

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

View Code
<?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>

在 .NET Framework 2.0 版中,现在可以在一个单独文件包括所有支持 configSource 属性的配置元素的配置设置。但是,当使用 configSource 属性时,由于没有元素设置的合并,因此您必须将整个节移动到单独文件。使用 configSource 属性时,对 Web.config 文件有一次写入操作。这会导致应用程序重新启动,但是随后对该节的更新会直接写入单独文件,而不会导致后面的应用程序重新启动。

只能包含一次configSource;

在网站运行时,如果修改 Web.Config 文件会引起站点的重启,而修改 My.Config 文件则不会,同时也提高了配置文件的可读性

注意,configSouce中的文件路径只能为相对物理路径,也就是只能为反斜杠(\),不能用斜杠(/)。

posted @ 2012-12-30 12:44  小汪哥写代码  阅读(1245)  评论(0编辑  收藏  举报