首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web.Config文件中使用configSource

Web.Config文件中使用configSource

作者头像
aehyok
发布2018-09-11 12:57:23
6520
发布2018-09-11 12:57:23
举报
文章被收录于专栏:技术博客技术博客

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

 1.来个最简单的小例子

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="test" value="aehyok"/>
  </appSettings>
</configuration>

 然后在代码中进行调用,我在VS2010中建的是控制台程序,当然还需要添加引用System.Configuration;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = ConfigurationManager.AppSettings["test"].ToString();
            Console.WriteLine(str);
            Console.ReadLine();
        }
    }
}

2.接下来看看优化后的配置文件结构,先来看看原来的配置文件的修改

<?xml version="1.0"?>
<configuration>
  <appSettings configSource="config\My.config" />
</configuration>

然后在项目中添加一个Config文件夹,再在其中添加一个配置文件My.config 其中结构如下

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
  <add key="test" value="aehyok"/>
</appSettings>

这样子照样可以进行读取配置文件。

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

只能包含一次configSource;

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-05-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档