日期:2014-05-18  浏览次数:20489 次

动态修改config文件时出错
C# code

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ConnectionStringSettings conn = new ConnectionStringSettings();
                conn.ConnectionString = "Server=shangwuPC;User ID=sa;Password=123";
                conn.Name = "shangwu";
                conn.ProviderName = "System.Data.SqlClient";
                ConfigurationManager.ConnectionStrings.Add(conn);
            }
        }


运行后出现:
该配置是只读的。
错误源:行 26: ConfigurationManager.ConnectionStrings.Add(conn);

如果是web.config文件是只读的,不能在运行时刻更改 ,那怎样才能实现以上代码

------解决方案--------------------
换个思路吧,
不要更改配置文件,
而是把可能用到的连接字符串都写在配置文件里,
然后程序里根据需要取不同的值
------解决方案--------------------
不建议动态修改Web.config。因为会重启应用程序域。
------解决方案--------------------
web.config 中只存放配置文件路径,具体的项目放到配置文件中去,这样修改过后也不需要重启APPDOMAIN