编程读写web.config

ASP.NET在System.Web.Configuration命名空间中提供WebConfigurationManager类,他可以允许你在运行时从配置文件抓取信息。

你可以用以下代码来循环处理连接字符串

 foreach (ConnectionStringSettings connection in WebConfigurationManager.ConnectionStrings)
        {
            Response.Write("Name:" + connection.Name + "<br/>");
            Response.Write("Connection String:" + connection.ConnectionString + "<br/><br/>");
        }

如果你的应用程序没有定义任何连接字符串,你仍可以看到Web服务器定义的默认连接字符串。

你可以通过Configuration类修改大多数的配置节-实际上,ASP.NET管理网页就依赖这一功能。

对于你的代码,你最有可能修改<appSettings>节或 <connectionString>节的设置

Configuration config = WebConfigurationManager.OpenWebConfiguration("/");

lblWelcome.Text = config.AppSettings.Settings["welcomeMessage"].Value;

        if (config.AppSettings.Settings["welcomeMessage"].Value.Length > 15)
        {
            config.AppSettings.Settings["welcomeMessage"].Value = "Welcome, again.";
        }
        else
        {
            config.AppSettings.Settings["welcomeMessage"].Value = "Welcome, friend.";
        }
        config.Save();

这里使用的是“/”,是指跟目录,如果使用Request.CurrentExecutionFilePath路径,你将会得到那个文件夹得累积设置项。

注意web.config文件绝不是状态管理的理想方案。相反,它只适用偶尔更新设置,在正常情况下,这些设置几乎不会变,

只是因为修改配置的代价太大了,文件访问速度很慢,而且他需要同步化增加额外的负担,不过真正的问题在于新应用程序域创建的代价太大,下一次请求页面时将会看到效果-请求完成的速度要慢很多,为页面要重新编译,并缓存加载。更糟的是,Application以及Cache集合里的信息也会丢失,Session集合信息也会丢失

原文地址:https://www.cnblogs.com/gull/p/1876163.html